gpt4 book ai didi

ios - 检测 UITextField 何时更改而不使用键盘快速

转载 作者:行者123 更新时间:2023-11-30 13:01:59 25 4
gpt4 key购买 nike

我想知道 myTextField(UITextField 的子类)的“text”属性何时被我的应用程序清除。由于我的应用程序中有许多文本字段,我希望它成为子类中的一种机制。

我发现建议使用观察者的帖子,我尝试了一下,它有效,但我想要更好的方法。

此方法的问题是,当我使用键盘输入单个字符,然后使用

从应用程序中清除“文本”时
someField.text = ""

观察者调用我的应用程序 50 次,效率非常低。

这是我在 myTextField 类中使用的代码:

addObserver(self, forKeyPath: "text", options: .New, context: nil)

获取消息的函数是

override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>) {
if let newValue = change?[NSKeyValueChangeNewKey] {
print("text changed: \(newValue)")
}
}

print() 被调用超过 50 次,每次“newValue”为空。此外,当我在应用程序中将其“text”属性设置为“”时,“text”属性中没有数据的其他文本字段会被调用 5 次,这也是低效的。

最佳答案

忽略我的帖子。我发现了我的问题。我把“addObserver()”放在“editingRectForBounds()”中,以为它在初始化时只被调用一次,但发现它被调用了很多次,所以我有超过50个“观察者”。一旦我修复了它,应用程序就会按预期工作。

关于ios - 检测 UITextField 何时更改而不使用键盘快速,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39817693/

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