2

正常UITextField显示 aUIKeyboard其中包括 alpha+Numberic+specials

但我只需要阿尔法...

我需要这个,因为如果用户输入类似 -- A'bad

它有一个 char ' - 这会影响我的查询。

我们如何只能设置alphabetic UIKeyboard为用户?

4

4 回答 4

2

我认为。我得到了答案。

在你的UIViewController文件.h添加delegate<UITextfieldDelegate>

现在将以下代码添加到.m文件

- (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;

}

于 2009-08-13T23:52:34.147 回答
1

这篇 SO 帖子回答了您的问题: UIkeyboard 类型

于 2009-08-13T23:29:03.003 回答
0

代替禁用或不允许用户添加 '(apostorpe) 使用以下代码,它将允许您插入 '(apostorpe)

[textEntered stringByReplacingOccurrencesOfString:@" ' " withString:@" ' '"];
于 2012-04-09T12:08:16.240 回答
0

你应该像我下面那样使用;

- (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;
}
于 2015-04-08T12:11:50.400 回答