的UIView无法取消隐藏
问题描述:
我现在有一个UIView
一个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
如上面的代码所示。
答
做在主线程
dispatch_async(dispatch_get_main_queue(), {() -> Void in
loading.hidden = true
activityIndicatorView.stopAnimating()
})
+0
谢谢,它工作:) – Panda
如果你正在做的是,在后台线程,你应该做在主线程的用户界面的变化。 –
你可以使用完整的方法吗?其中包括if(成功== 1){NSLog(“Login SUCCESS”);块? –
@JasonNam当然,将在一分钟内更新帖子 – Panda