gpt4 book ai didi

ios - 在 Swift 中对 UIButton 使用 setTitle 时出现延迟

转载 作者:搜寻专家 更新时间:2023-10-31 19:35:32 24 4
gpt4 key购买 nike

我正在玩自定义键盘,但在尝试更改按钮标题时遇到了问题。

这是我在点击特定按钮时调用的函数,如您所见,我正在尝试更改某些按钮上的标题和输出文本(我声明的变量)。

func numericsSelected() {

if button01.titleForState(.Normal) == "Q" {

button01.outputText = "1"
button01.setTitle("1", forState: .Normal) // This causes a delay
button02.outputText = "2"
button02.setTitle("2", forState: .Normal)
button03.outputText = "3"
button03.setTitle("3", forState: .Normal)
}
}

更改 outputText 变量时没有问题,但是,当我的 numericsSelected() 函数被调用时,在 setTitle 对按钮生效之前我遇到了 1 秒的延迟。无论我是在单个按钮上调用 setTitle 还是在 26 个按钮上调用,在标题实际更改之前总会有延迟。

我在更新 UI 时读到一个提到线程的过时答案,不确定这是否相关。任何帮助将非常感激。

最佳答案

我终于弄明白延迟的原因了。

每次使用 setTitle:forState 时都会调用 viewWillLayoutSubviews,因为我在该函数中有一些自定义代码,所以每次使用 setTitle:forState 时它都会运行。

关于ios - 在 Swift 中对 UIButton 使用 setTitle 时出现延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25494025/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com