我使用此方法替换并检查uitextfield中的实时输入,但这不适用于ios 7 - 64位
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if (textField == textInput) {
NSString * text = [textField.text stringByReplacingCharactersInRange:range withString:string];
text = [text stringByReplacingOccurrencesOfString:@"*" withString:@"?"];
[textField setText:text];
return NO;
}
return YES;
}
此textField我检查并仅输入数字,但在ios7-64bit中它只输入最多4个数字。
有解决方法吗?
答案 0 :(得分:0)
shouldChangeCharactersInRange
这应该和IOS7一样有效。 UITextField
。
检查这些:
确保delegate set to the UITextField
。
self.textInput.delegate = self;
您确定if (textField == textInput)
本规范对我来说很好。 :
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
NSString * text = [textField.text stringByReplacingCharactersInRange:range withString:string];
text = [text stringByReplacingOccurrencesOfString:@"*" withString:@"?"];
[textField setText:text];
return NO;
}