2011-01-13 56 views
0

我正在处理包含帐户注册部分的应用程序。一个字段为secureTextEntry = NO(仅用于注册)。这个想法是使注册更快,并希望增加注册数量。对于我来说,放置一个普通的UITextField非常简单,但如果用户有任何额外的语言键盘,那么用户可以输入非密码友好字符。不同于当时的secureTextEntry = YES抑制语言选择按钮iPhone

我知道我可以做

textField.keyboardType = UIKeyboardTypeASCIICapable 

得到的文本字段首先显示ASCII键盘,但用户仍然可以看到该键盘开关按钮,这将使他们得到不良的字符。

是否有一个简单的方法来抑制国际按钮或强制只有ASCII键盘没有国际按钮?

[编辑] 另一个也许更好的选择可能是抑制多字节键盘甚至显示文本的情况下,在这里的任何想法?

[编辑] 我决定压制国际按钮是一个非常糟糕的主意,因为非多字节字符应该都是允许的。

+1

你问,有人花时间回答。如果这个问题被删除,奥拉夫失去了答案和代表。 – Will 2011-01-13 15:17:27

回答

0

看一看-(BOOL) textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString*)textEntered

如果用户输入的密码不喜欢,请将其删除。只要确保他们明白某封信不被接受即可。否则,用户将看着键盘,而不是在屏幕上,并假设他们已经触摸了按钮,字符被输入到密码中。

这可能比重新设计整个键盘更容易。

+0

我已经玩过这一点,但让用户点击一个键并且文本字段中没有任何内容显示,这有点奇怪。如果用户键盘没有任何ASCII字符,则无法输入任何内容。 – AWinter 2011-01-13 10:20:20