UITextField验证

Mah*_*abu 7 iphone objective-c ios

我正在创建一个文本字段.

每当文本字段中的值大于100时,我需要显示"值必须小于100"的警报,然后应清除文本字段的值.

我怎样才能做到这一点?

Jac*_*kin 17

您可以让视图控制器符合UITextFieldDelegate协议并实现该-textField:shouldChangeCharactersInRange:replacementString:方法:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
    if (range.location == 0 && string.length == 0) {
        return YES;
    }

    // Build up the resulting string…
    NSMutableString *fullString = [[NSMutableString alloc] init];

    [fullString appendString:[textField.text substringWithRange:NSMakeRange(0, range.location)]];
    [fullString appendString:string];

    // Set up number formatter…
    NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
    NSNumber *replaceNumber = [formatter numberFromString:fullString];

    [fullString release];
    [formatter release];

    return !(replaceNumber == nil || [replaceNumber intValue] > 100);
}
Run Code Online (Sandbox Code Playgroud)