【发布时间】:2015-11-25 19:18:59
【问题描述】:
如何在 Xcode 中添加延迟?
self.label1.alpha = 1.0
//delay
self.label1.alpha = 0.0
我想让它等待大约 2 秒。我已阅读有关 time_dispatch 和导入 darwin 库的信息,但我无法使其工作。那么有人可以一步一步正确解释吗?
【问题讨论】:
如何在 Xcode 中添加延迟?
self.label1.alpha = 1.0
//delay
self.label1.alpha = 0.0
我想让它等待大约 2 秒。我已阅读有关 time_dispatch 和导入 darwin 库的信息,但我无法使其工作。那么有人可以一步一步正确解释吗?
【问题讨论】:
对于 Swift 5:
self.label1.alpha = 1.0
let delay : Double = 2.0 //delay time in seconds
let time = DispatchTime.now() + delay
DispatchQueue.main.asyncAfter(deadline:time){
// After 2 seconds this line will be executed
self.label1.alpha = 0.0
}
这对我有用。
【讨论】:
这是另一个可行的选项 -
import Darwin
sleep(2)
然后,你可以使用 sleep 函数,它以秒数为参数。
【讨论】:
您只需编写以下代码:
self.label1.alpha = 1.0
let delay = 2 * Double(NSEC_PER_SEC)
let time = dispatch_time(DISPATCH_TIME_NOW, Int64(delay))
dispatch_after(time, dispatch_get_main_queue()) {
// After 2 seconds this line will be executed
self.label1.alpha = 0.0
}
'2' 是您要等待的秒数
问候
【讨论】:
可能会更好地为这个使用块:
self.label1.alpha = 1.0;
UIView animateWithDuration:2.0 animations:^(void) {
self.label1.alpha = 0.0;
}];
【讨论】: