禁用硬件键盘编辑UITextField

3
我有一个UITextField,当被点击时会弹出一个UIPickerView_myTextField.inputView = _myPicker;)。
然而,在模拟器中,我可以使用我的Mac键盘输入到UITextField中。这不是期望的行为,因为我正在使用UIPickerView
如何禁用或忽略使用选择器的文本字段的硬件键盘输入?

我认为你不需要这样做,因为你的应用程序不会在Mac系统上运行。所以不要担心。但是如果你仍然想这样做,你可以为你的文本字段设置一些有效字符。[参考链接] (https://dev59.com/bmUq5IYBdhLWcg3wXvSa) - Pawan Rai
3
如果他们将外部键盘连接到iPad上,那该怎么办呢?他们可以像模拟器上使用Mac键盘一样,在应用程序中使用它。 - Liftoff
2个回答

1
您可以使用 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 方法拒绝任何只有单个字符输入的内容(例如按键,我相信会有一个 range.length 为1)。这不会帮助复制/粘贴操作,但可以覆盖单个按键。

谢谢,这对我有用。我刚刚检查了是哪个文本字段并返回了NO :) - BytesGuy

0

这是你在寻找的吗?

-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    // Here You can do additional code or task instead of writing with keyboard
    return NO;
}

希望这对你有所帮助


如果我这样做,当点击 UITextFieldUIPickerView 将不会显示,什么都不会发生。 - BytesGuy
这样做是行不通的,因为 @Newbzors 特别说明他们正在将 picker 用作字段的 inputView - Stonz2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接