很长时间隐藏视图

时间:2014-10-29 18:55:57

标签: ios objective-c xcode swift xcode6

按下登录按钮时会出现以下快速代码。

@IBAction func login(sender: UIButton)
{
    sender.hidden = true;
    self.loader.hidden = false;
    println("HIDDEN");
    sleep(2);        
}

然而,登录按钮需要很长时间才能实际隐藏,很长一段时间后" HIDDEN"打印到控制台。我认为这是因为我在睡眠中添加了模拟延迟(2)但是我不确定如何在隐藏按钮后进行此睡眠。

1 个答案:

答案 0 :(得分:1)

评论引导我找到这个异步工作的解决方案,因此不会阻塞导致隐藏操作暂停的主线程。

@IBAction func login(sender: UIButton)
{
    sender.hidden = true;
    self.loader.hidden = false;

    dispatch_after(
        dispatch_time(
            DISPATCH_TIME_NOW,
            Int64(3 * Double(NSEC_PER_SEC))
        ),
        dispatch_get_main_queue(), {
            let vc = self.storyboard?.instantiateViewControllerWithIdentifier("homeNavigation") as UIViewController;
            self.presentViewController(vc, animated: true, completion: nil);
    })



}