我有这段代码:
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秒后放置的问题?
答案 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!)})