0

我有应用程序,它有一个登录表单!用户正在使用电话号码登录。手机号码总是以国家代码开头,可以用 +7 或 8 输入。我需要一个严格的字段,除了 +7 符号。那么如何自定义 UITextField 以便用户只能更改该字段的其余部分?我的意思是,我需要文本字段的文本属性始终用 +7 数字填充,这样用户将无法删除它,而只需添加他的数字。我希望,这是可以理解的)))提前感谢您的帮助。

4

2 回答 2

2

textField:shouldChangeCharactersInRange:replacementString:是您需要使用的。

UITextField Delegate 的类参考

于 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 回答