IM 在更改返回键类型时遇到问题,同时仍在编辑我的 View 的文本字段。因此,当用户单击文本字段时,我有一些更改键盘返回类型的检查,当我更改键盘时,这些检查被放置在 - (void)textFieldDidBeginEditingUITextField *)textField
中此处的返回键代码工作正常。我只是像 [textField setReturnKeyType:UIReturnKeyDone];
那样更改键盘的重新运行键。所以有2个文本字段用户名和密码。如果两个文本字段中都有文本我想将返回键更改为 DONE 如果只有一个文本字段中有文本我想将其更改为 NEXT 所以我可以在文本字段之间来回跳转。所以现在我在 - (BOOL)textFieldUITextField *)textField shouldChangeCharactersInRangeNSRange)range replacementStringNSString *)string
中进行了一些检查和平衡。然而,我放置在 textFieldDidBeginEditing
中的相同代码在此函数中不起作用。我读了一堆帖子,他们都说要删除文本字段作为第一响应者,然后设置返回键并再次成为响应者,但这会扰乱我当前在各个方法中的流程。我还读到我必须在设置返回键后调用 [textfield reloadInputFields]
,但这又不起作用。你会认为苹果现在已经修复了这样的错误。无论如何,这里有人有意见吗?
我必须实现一个添加标签逻辑,该逻辑需要根据输入到 UITextField 中的文本来更改键盘返回键。找到如何更改返回键很容易,但是当我开始测试时,我注意到这个解决方案只适用于 iOS10,但不适用于 iOS9。在花了一些时间并做了一些研究之后,我想出了这个解决方法,它不是最好的,但至少它有效。
if #available(iOS 10.0, *) {
textField.reloadInputViews()
} else {
textField.keyboardType = .numberPad
textField.reloadInputViews()
textField.keyboardType = .default
textField.reloadInputViews()
}
关于ios - 在编辑 UITextField 的同时更改返回键类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33487369/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |