Использовать протокол UITextFieldDelegate
:
- (BOOL) textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString*)textEntered
{
for (int i = 0; i < [textEntered length]; i++)
{
unichar c = [textEntered characterAtIndex:i];
if ([disallowedCharacters characterIsMember:c])
{
return NO;
}
}
return YES;
}
, где disallowedCharacters
- это NSCharacterSet
, содержащий символы, которые не должны быть приняты клавиатурой, то есть пробел, пунктуация, цифры и т. Д .:
self.disallowedCharacters = [NSCharacterSet characterSetWithCharactersInString:@" ,.123"];