xcode - 在 Swift 中一段时间​​后更改按钮/标签上的文本

标签 xcode swift ios8

我想用它在一段时间后将按钮上的文本更改为另一个标签上的文本。

例如:

label1.text = "Stack Overflow"

//Wait 5 seconds

button1.setTitle( "\(label1.text!)", forState: UIControlState.Normal)

最佳答案

我在 Double 上创建了这个扩展:

extension Double {
    private func delay(delay:Double, closure:()->()) {
        dispatch_after(
            dispatch_time(
                DISPATCH_TIME_NOW,
                Int64(delay * Double(NSEC_PER_SEC))
            ),
            dispatch_get_main_queue(), closure)
    }
    // Delay function written by Matt on http://stackoverflow.com/questions/24034544/dispatch-after-gcd-in-swift/24318861#24318861



    func waitSecondsAndDo (closure:()->()) {
        delay (self, closure: closure)
    }
}

然后您可以像这样在您的代码中使用它:

5.0.waitSecondsAndDo {
   button1.setTitle( "(label1.text!)", forState: UIControlState.Normal)
}

关于xcode - 在 Swift 中一段时间​​后更改按钮/标签上的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27145192/

相关文章:

ios - CGContextSetRGBFillColor 参数太少

xcode - 苹果 llvm 9.0 不能使用标志 c++17

swift - 为什么闭包在 Swift 3 中默认都是非转义的而需要显式的 `self`?

xcode - 快速编译桥接 header 时出错

core-data - iOS 8 iCloud Drive 和以前的 iCloud 核心数据数据库

ios - 协议(protocol)作为快速冲突中的参数类型

swift - 无法打开粒子 SKS 文件

IOS 在 XIB 中更改 Main Bundle 首选项

iphone - 有谁知道如何从应用程序内部更改 iPhone 设置?

swift - 更改搜索字段的图标