Вы можете проверять числа как тип пользователя, применяя метод -[UITextField textField:shouldChangeCharactersInRange:replacementString:]
.Обратите внимание, что этот метод вызывается до изменения , поэтому вам нужно создать текст, который может быть результатом действий пользователя самостоятельно.Например:
-(BOOL)textField:(UITextField*)textField: shouldChangeCharactersInRange:(NSRange*)range
replacementString:(NSString*)string;
{
NSString* text = [textField.text stringByReplacingCharactersInRange:range
withString:string];
// text is now the potential string you should check against.
}
То, что вы делаете оттуда, зависит только от вас.Вот некоторые примеры:
// Too short?
if ([text length] < 4) ...
// Invalid character?
NSCharacterSet* invalidChars = [[NSCharacterSet alphanumericCharacterSet] invertedSet];
if ([text rangeOfCharacterInSet:invalidChars].location != NSNotFound) ...
Для более сложной проверки чисел я бы использовал NSNumberFormatter
, который поддерживает проверку диапазонов и многое другое.