2010-03-27 112 views
0

我想禁用或还没有给予输入UITextField中的字母,字母数字和特殊字符的权限我的意思是当用户在文本框中输入字母和特殊字符,然后我想快速显示消息框弹出窗口显示他只有使用0,1-9个数字。 请给我任何源代码和教程。如何禁用UITextField中的字母,数字和特殊字符?

回答

0

看看UITextFieldDelegate协议。有一种方法称为textField:shouldChangeCharactersInRange:replacementString:,您可以在其中验证替换字符串,并返回NO,如果它属于不允许的集合之一。至于验证本身,请参见NSString类和NSCharacterSet类的方法rangeOfCharacterFromSet:

+0

zoul,上述方法适用于角色,但它适用于特殊字符? – Tirth 2010-03-27 10:12:36

+0

'NSCharacterSet'上有一个'invertedSet'方法,这样你就可以检查字符串是否包含来自反转集合'decimalDigitCharacterSet'的一些字符。如果是的话,你不允许字符串。这应该只允许小数位(如果这是你想要的)。 – zoul 2010-03-27 10:36:29

1

在您的UITextField上调用setKeyboardType:,并传递UIKeyboardType常量之一。我不确定哪一个符合你的描述。

- (void)awakeFromNib 
{ 
    [textField setKeyboardType:UIKeyboardTypeNumberPad]; 
} 
+0

Todd Yandell, 我已经在设计视图中更改了UIKeyboardTypeNumberPad,但随后UITextField也允许我在文本字段中输入字母和特殊字符。 – Tirth 2010-03-27 09:14:05

相关问题