- этот код допускает только цифры в текстовом представлении
Если вы ориентируетесь на iOS 4.1 и более поздние версии, вы можете использовать UIKeyboardTypeDecimalPad. Если вам требуется поддержка более старых версий, требуется десятичная точка и больше ничего не нужно, вам придется создать собственную клавиатуру.
Если вы хотите отфильтровать другие ключи, не удаляя их, назначьте некоторый объект в качестве делегата текстового поля. Этот объект должен содержать следующий код:
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{
NSCharacterSet *nonNumberSet = [[NSCharacterSet characterSetWithCharactersInString:@"0123456789."] invertedSet];
return([text stringByTrimmingCharactersInSet:nonNumberSet].length > 0)
//or
NSRange location = [string rangeOfCharacterFromSet:nonNumberSet];
return (location.location == NSNotFound);
}
для алфавита и других, которые вы используете выше код с этим, как код ^ [0-9a-zA-Z]. Я думаю, что это полезно для вас. хорошего дня