shouldChangeCharactersInRange在ios7-64bit中不起作用

时间:2014-01-17 07:37:31

标签: ios objective-c ios7 64-bit

我使用此方法替换并检查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个数字。

有解决方法吗?

1 个答案:

答案 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;
}