几秒钟后添加子视图

时间:2015-08-08 14:09:40

标签: swift

我有这段代码:

 UIView.animateWithDuration(0.6, delay: 5.0, usingSpringWithDamping: 0.6, initialSpringVelocity: 3.0, options: nil, animations: {

     self.view.addSubview(self.label!)

},completion: nil)

但看起来标签是在5.0秒后放置的。在应用程序中,您立即看到它。

如何解决标签在5秒后放置的问题?

1 个答案:

答案 0 :(得分:2)

请记住,使用animateWithDuration() - (在MVC模式中) - 视图动画需要时间来执行,但模型会立即更改,而不会在给定的持续时间后更改。

使用此功能

func delay(delay:Double, closure:()->()) {
        dispatch_after(
            dispatch_time(
                DISPATCH_TIME_NOW,
                Int64(delay * Double(NSEC_PER_SEC))
            ),
            dispatch_get_main_queue(), closure)
}

例如在一定延迟后添加子视图:

delay(5.0, closure: {self.view.addSubview(self.label!)})