gpt4 book ai didi

objective-c - 没有数字的 UI 键盘

转载 作者:行者123 更新时间:2023-12-03 17:35:30 25 4
gpt4 key购买 nike

我需要一个显示默认 UIKeyboardType 且不带数字 0-9 的 UIKeyboard。我只需要隐藏这些按钮。

有没有办法访问键盘的不同按钮,以便我可以设置然后隐藏?如果不是,我可以检测何时按下“.?123”按钮并添加一个 subview 来覆盖第一行吗?或者有更好的方法吗?

最佳答案

没有公共(public) API 可用于禁用对数字和标点符号键的访问。您可以深入研究键盘的 View 层次结构以尝试隐藏数字切换键,但这在将来可能会被破坏(键盘 View 层次结构在过去已经发生了变化)。

在文本控件的委托(delegate)中过滤掉您不喜欢的字符会简单得多。例如,假设您只想允许用户输入字母。如果您有 UITextField,请将其委托(delegate)设置为 View Controller 并在 View Controller 中实现此方法:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSRange all = NSMakeRange(0, string.length);
if (all.length == 0) {
// deletion
return YES;
}

NSRange letters = [string rangeOfCharactersFromSet:[NSCharacterSet letterCharacterSet]];
return NSEqualRanges(all, letters);
}

如果您有 UITextView,则该方法称为 textView:shouldChangeTextInRange:replacementText:

关于objective-c - 没有数字的 UI 键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11129186/

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