正常UITextField
显示 aUIKeyboard
其中包括 alpha+Numberic+specials
但我只需要阿尔法...
我需要这个,因为如果用户输入类似 -- A'bad
它有一个 char ' - 这会影响我的查询。
我们如何只能设置alphabetic
UIKeyboard
为用户?
正常UITextField
显示 aUIKeyboard
其中包括 alpha+Numberic+specials
但我只需要阿尔法...
我需要这个,因为如果用户输入类似 -- A'bad
它有一个 char ' - 这会影响我的查询。
我们如何只能设置alphabetic
UIKeyboard
为用户?
我认为。我得到了答案。
在你的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;
}
这篇 SO 帖子回答了您的问题: UIkeyboard 类型
代替禁用或不允许用户添加 '(apostorpe) 使用以下代码,它将允许您插入 '(apostorpe)
[textEntered stringByReplacingOccurrencesOfString:@" ' " withString:@" ' '"];
你应该像我下面那样使用;
- (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;
}