Xcode中的等待/延迟(Swift)

ix0qys7i  于 2022-12-14  发布在  Swift
关注(0)|答案(5)|浏览(212)

如何在Xcode中添加延迟?

self.label1.alpha = 1.0
//delay
self.label1.alpha = 0.0

我想让它等待大约2秒。我读过关于time_dispatch和导入达尔文库的文章,但我一直无法让它工作。所以有人能一步一步地正确解释吗?

hmmo2u0o

hmmo2u0o1#

您只需编写以下代码:

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'是要等待的秒数
此致

u5i3ibmn

u5i3ibmn2#

这是另一个可行的选择-
import Darwin sleep(2)
然后,您可以使用sleep函数,该函数将秒数作为参数。

8yoxcaq7

8yoxcaq73#

对于此问题,使用块可能更好:

self.label1.alpha = 1.0;

UIView animateWithDuration:2.0 animations:^(void) {
    self.label1.alpha = 0.0;
}];
mkshixfv

mkshixfv4#

对于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
}

这对我有用。
指的是:Delay using DispatchTime.now() + float?

baubqpgj

baubqpgj5#

我不建议用于生产,但确实很有用

import Foundation 
func block(for t: Double) {
    let group = DispatchGroup()
    group.enter()
    let _ = group.wait(timeout: .now() + t)
}

相关问题