的UIView无法取消隐藏

问题描述:

我现在有一个UIView一个UIActivityIndicatorViewUILabel它们都默认为隐藏:的UIView无法取消隐藏

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如上面的代码所示。

+1

如果你正在做的是,在后台线程,你应该做在主线程的用户界面的变化。 –

+0

你可以使用完整的方法吗?其中包括if(成功== 1){NSLog(“Login SUCCESS”);块? –

+0

@JasonNam当然,将在一分钟内更新帖子 – Panda

做在主线程

dispatch_async(dispatch_get_main_queue(), {() -> Void in 
    loading.hidden = true 
    activityIndicatorView.stopAnimating() 
}) 
+0

谢谢,它工作:) – Panda