Ios UIActivityIndicator停止动画制作()不工作
在我的SignInViewController中,我有一段代码,在单击按钮时添加活动,在我的应用程序委托中,我运行停止动画功能。当功能完成时,我知道该功能正在运行,因为我可以让它打印出一些内容,但活动指示器没有消失 对斯威夫特来说,任何帮助都是全新的,因此,我非常感谢你的回答Ios UIActivityIndicator停止动画制作()不工作,ios,swift,uiactivityindicatorview,Ios,Swift,Uiactivityindicatorview,在我的SignInViewController中,我有一段代码,在单击按钮时添加活动,在我的应用程序委托中,我运行停止动画功能。当功能完成时,我知道该功能正在运行,因为我可以让它打印出一些内容,但活动指示器没有消失 对斯威夫特来说,任何帮助都是全新的,因此,我非常感谢你的回答 @IBAction func googleSignInButton(_ sender: Any) { GIDSignIn.sharedInstance().uiDelegate = se
@IBAction func googleSignInButton(_ sender: Any) {
GIDSignIn.sharedInstance().uiDelegate = self
GIDSignIn.sharedInstance().signIn()
activityIndicator.center = self.view.center
activityIndicator.hidesWhenStopped = true
activityIndicator.activityIndicatorViewStyle =
UIActivityIndicatorViewStyle.gray
view.addSubview(activityIndicator)
activityIndicator.startAnimating()
UIApplication.shared.beginIgnoringInteractionEvents()
}
func stopanimating() {
activityIndicator.stopAnimating()
UIApplication.shared.endIgnoringInteractionEvents()
}
尝试在主线程上调用
stopanimating()
func stopanimating() {
DispatchQueue.main.async {
self.activityIndicator.stopAnimating()
}
}
你在主线程上调用
stopanimating()
吗?我不确定你所说的ui线程是什么意思,你是指在当前视图控制器上,如果是,我在函数末尾调用var sivc=SignInViewController(),然后调用func(){…..sivc.stopanimating}@Ray是您的函数被调用。当我添加了一个打印(“正在运行”)并且它出现在我的log@ray您可以尝试在调用该函数的点隐藏活动指示器。它停止旋转了吗?它需要我把self.activityIndicator.stop animating()放在那里,但仍然不能去掉活动指示器。这并不是关于你原来的问题,而是告诉你关于“self”的评论:它需要你把“self.activityIndicator…”放在那里,因为Swift想让你明白,一旦您在闭包{…}中引用该变量,这可能会导致引用循环。您是否有从“activityIndicator”到SignenViewController()类的出口?它在您上面发布的代码中不可见,因此可能您只是在实例化ActivityIndicator类型的新对象。@Ray尝试调用google委托函数,检查是否成功登录viewController并执行停止动画,它将起作用。