我目前在UIActivityIndicatorView
中有一个UILabel
和UIView
,默认情况下都隐藏了这些内容:
点击“登录”按钮后,应取消隐藏所有3个元素:
@IBAction func signinTapped(sender: UIButton) {
loading.hidden = false
activityIndicatorView.startAnimating()
收到服务器的响应后,应再次隐藏所有3个元素:
if(success == 1)
{
NSLog("Login SUCCESS");
let prefs:NSUserDefaults = NSUserDefaults.standardUserDefaults()
prefs.setObject(username, forKey: "USERNAME")
prefs.setInteger(1, forKey: "ISLOGGEDIN")
prefs.synchronize()
loading.hidden = true
activityIndicatorView.stopAnimating()
self.performSegueWithIdentifier("goto_attendance", sender: self)
}
但是,点按“登录”按钮后,元素不会取消隐藏。
我试图通过创建一个按钮来隐藏和取消隐藏元素来测试它,并且它有效。因此,所有出口和变量名都是正确的。
当它之前还有其他功能时,它就不会隐藏和取消隐藏,例如设置prefs:NSUserDefaults
,如上面的代码所示。
答案 0 :(得分:2)
在主线程中执行
dispatch_async(dispatch_get_main_queue(), { () -> Void in
loading.hidden = true
activityIndicatorView.stopAnimating()
})