【发布时间】:2015-10-12 09:59:13
【问题描述】:
在我的 iPhone 应用程序中,我希望 UITextField 默认具有“+”符号作为手机号码。如果用户想更改手机号码,那么他/她可以。但他们不允许从 UITextField 中删除“+”。 “+”符号在 UITextField 中始终保持原样。
例如:-
+911234567890 - 正确号码
911234567890 - 号码错误。 + 是必需的。
我尝试了 UITextField 委托方法
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
并且还使用了通知“UIControlEventEditingChanged”。
提前致谢。
【问题讨论】:
-
textField 支持leftView。添加带有+符号的imageView作为UIImage。或者我们也可以使用 textField shouldChangeCharactersInRange 方法。
-
我已经尝试过 shouldChangeCharactersInRange 方法,但没有任何运气
-
你用
shouldChangeCharactersInRange做了什么? -
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { if ([textField.text isEqualToString:@"+"]) { return NO ; } 返回是;如果用户想尝试删除“+”,那么他们不能。但这会产生问题,因为字符方法应该考虑前一个字符。表示如果用户删除字符并到达“+”,并且在该用户尝试写入任何字符之后,则此方法不允许他们写入。
标签: ios objective-c iphone notifications uitextfield