【发布时间】:2017-08-02 12:34:59
【问题描述】:
我是iOS的新手,
我想在UITextField中留下某些字符后更换键盘,
例如:我有@"AEBPQ1234M"的字符串
对于前 5 个字母,我需要字母键盘,然后对于接下来的 4 个字母,我需要数字键盘,最后一个字母我需要再次使用字母键盘。
这是我尝试过的代码,但是当我在键盘上按退格键时它不起作用。
-(void)textFieldDidChange :(UITextField *)theTextField{
if (theTextField.text.length < 5 || theTextField.text.length >= 9) {
[theTextField setKeyboardType:UIKeyboardTypeEmailAddress];
}
if (theTextField.text.length >= 5 && theTextField.text.length < 9 ) {
[theTextField setKeyboardType: UIKeyboardTypeNumberPad];
}
[theTextField reloadInputViews];
}
我哪里出错了?
【问题讨论】:
-
在其他情况下工作?尝试使用`textfieldshouldchangecharactersinrange`Delegate
-
这不是理想的方法。你不应该改变键盘。用户体验不好。
-
你能帮我获取代码吗?我是 iOS 新手
-
苹果开发者请检查我的回答。它有效。
标签: ios objective-c uitextfield