UITextField 不接收文本更改

Posted

技术标签:

【中文标题】UITextField 不接收文本更改【英文标题】:UITextField does not receive text changes 【发布时间】:2015-02-17 15:05:54 【问题描述】:

我们有一个简单的UITextField,它位于第二个UIWindow 上。触摸它将正确地使其成为第一响应者并显示键盘。但是,没有触摸键,而是退格键会触发textField:shouldChangeCharactersInRange:replacementString:。所有其他UITextFieldDelegate 方法都被正确触发。 文本字段是在 Interface Builder 中创建的,它不是子类。似乎没有什么会偷走第一响应者。

该错误仅出现在 iPhone 3GS、ios 6.1.6 上。

【问题讨论】:

【参考方案1】:

显然,只有关键窗口才能从第一响应者那里获得更改。就像在相应的窗口中调用makeKeyWindow 一样简单。

来自文档:

Makes the receiver the main window.

【讨论】:

仍然不确定为什么这只是 iOS 6 的问题。 3GS 在这里似乎没有那么重要,因为我们没有任何其他带有 iOS 6 的手机。也许苹果方面的一个不幸的错误?

以上是关于UITextField 不接收文本更改的主要内容,如果未能解决你的问题,请参考以下文章

如何连接 UIButton 和 UIText

UITextField PlaceHolder 颜色改变 Monotouch

为啥从 Nib 加载的 UITextField 的默认字体太小?

iOS富文本

UITextField:更改禁用文本字段的外观

如果在编辑中更改文本更改 UITextField 崩溃