我有应用程序,它有一个登录表单!用户正在使用电话号码登录。手机号码总是以国家代码开头,可以用 +7 或 8 输入。我需要一个严格的字段,除了 +7 符号。那么如何自定义 UITextField 以便用户只能更改该字段的其余部分?我的意思是,我需要文本字段的文本属性始终用 +7 数字填充,这样用户将无法删除它,而只需添加他的数字。我希望,这是可以理解的)))提前感谢您的帮助。
问问题
159 次
2 回答
2
textField:shouldChangeCharactersInRange:replacementString:
是您需要使用的。
于 2013-04-05T03:10:45.430 回答
2
您应该实现前两个字符(前缀)的textField:shouldChangeCharactersInRange:replacementString:
方法UITextFieldDelegate
并返回。NO
"+7"
就像是
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
return !NSEqualRanges(range, (NSRange){0,2});
}
这将完全防止文本字段中的前两个字符被修改。
于 2013-04-05T03:12:17.250 回答