アプリケーションデリゲートの関数からアクティビティインジケータを停止する際に問題が発生しました。機能が呼び出されていますが、ログにエラーはありません。stopアプリケーションのデリゲートからのアクティビティインジケータの表示
私はそれが印刷して、この機能が正常に動作している知っている、私はこの機能を持っている私のアプリデリゲートにこの後そう
@IBAction func googleSignInButton(_ sender: Any) {
GIDSignIn.sharedInstance().uiDelegate = self
GIDSignIn.sharedInstance().signIn()
activityIndicator.center = self.view.center
activityIndicator.hidesWhenStopped = true
activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.white
view.addSubview(activityIndicator)
activityIndicator.startAnimating()
UIApplication.shared.beginIgnoringInteractionEvents()
}
ように私のsignInViewControllerに
func sign(_ signIn: GIDSignIn!, didSignInFor user: GIDGoogleUser!, withError error: Error?) {
print("this function is running")
SignInViewController().stopanimating()
// ...
if error != nil {
// ...
return
}
をactivityIndicatorを作成していますログのテキストそして今、私は、それはまた、ログに予想されるテキストを出力し、またendIgnoringInteractionEventsは仕事が、活動の指標には、まだかなり
イムを実行している場合と同様に、この関数が実行されている知っている
func stopanimating() {
print("stop animating function running")
DispatchQueue.main.async {
self.activityIndicator.stopAnimating()
UIApplication.shared.endIgnoringInteractionEvents()
}
}
SignInViewController
からこの関数を呼び出しますすぐには新しいですが、私のappdelegateからViewControllerのオブジェクトを操作する際に問題が発生しましたが、これは可能ですか?あなたがサブビューからの活動の指標を削除する必要があり、事前
まず、実行順序が最新であることを確認します。あなたのアプリケーションからアニメーションを無効にしようとした場合、デリゲートと非同期のデリゲート。開始アニメーションのために呼び出されることがあります。第2に、私は間違っているかもしれませんが、アニメーションを無効にしようとしているときにあなたのView Controllerのインスタンスではなくクラスを使用しているように見えます。それは目的ですか? – nevgauker