我有这个代码:
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秒后放置的问题?
最佳答案
请记住,使用 animateWithDuration()
-(在 MVC 模式中) - View 动画需要时间来执行,但模型会立即更改,而不是在给定的持续时间之后。
使用这个函数
func delay(delay:Double, closure:()->()) {
dispatch_after(
dispatch_time(
DISPATCH_TIME_NOW,
Int64(delay * Double(NSEC_PER_SEC))
),
dispatch_get_main_queue(), closure)
}
例如在一定延迟后添加一个 subview :
delay(5.0, closure: {self.view.addSubview(self.label!)})
关于swift - 几秒钟后添加一个 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31893935/