только символ – не специальный/цифры с клавиатуры – iPhone

StackOverflow https://stackoverflow.com/questions/1275197

Вопрос

Нормальный UITextField отображает UIKeyboard который включает буквенно-цифровые+специальные символы

Но мне нужна только альфа...

Мне это нужно, потому что если пользователь вводит что-то вроде -- A'bad

он имеет символ ' - что влияет на мой запрос.

Как мы можем установить только alphabetic UIKeyboard пользователю?

Это было полезно?

Решение

Этот пост SO отвечает на ваш вопрос:Тип пользовательской клавиатуры

Другие советы

Я думаю.Я получил ответ.

В вашей UIViewController файл .час добавлять delegate<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 (![myCharSet characterIsMember:c]) {
           return NO;
        }
    }
    return YES;

}

Вы должны использовать то, что я делаю ниже;

- (BOOL)textField:(UITextField *)field shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)characters
{
    NSMutableCharacterSet *filteredChars = [NSMutableCharacterSet letterCharacterSet];
    [filteredChars formUnionWithCharacterSet:[NSCharacterSet whitespaceCharacterSet]];
    NSCharacterSet *blockedCharSet = [filteredChars invertedSet];
    if (([string rangeOfCharacterFromSet:blockedCharSet].location == NSNotFound)) {
          return YES;
    }
    return NO;
}

Вместо отключения или запрета пользователю добавлять '(apostorpe) используйте следующий код, он позволит вам вставить '(apostorpe)

[textEntered stringByReplacingOccurrencesOfString:@" ' " withString:@" ' '"];
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top