gpt4 book ai didi

iphone - 过滤输入到 UITextField 中的字符

转载 作者:太空狗 更新时间:2023-10-30 03:21:08 25 4
gpt4 key购买 nike

我的应用程序中有一个 UITextField。我想将可以输入字段的字符集限制为我定义的字符集。当使用 UITextFieldDelegate 方法提交文本时,我可以过滤输入到字段中的字符:

- (BOOL)textFieldShouldReturn:(UITextField*)textField

然而,这会给用户一种错误的印象,尽管受限制的字符已从最终值中删除,但在按 Return/Done 等之前,它们仍然明显地输入到文本字段中。防止在键盘上选择受限字符时出现在文本字段中的最佳方法是什么?

注意:我的操作假设我几乎无法控制 iPhone 键盘提供的键。我知道我可以在各种键盘实现之间切换,但我的印象是我无法禁用特定的键。这个假设可能是不正确的。

最佳答案

我按照 marcc 的建议做了,效果很好。实现示例如下。

注意:变量名称是为简洁起见而选择的,并不反射(reflect)我的编码标准:

    ...
myCharSet = [NSCharacterSet characterSetWithCharactersInString:@"xyzXYZ"];
...
}

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

关于iphone - 过滤输入到 UITextField 中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1013647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com