【发布时间】:2015-04-12 15:23:10
【问题描述】:
我目前正在开发一个原型,我想先在桌面上进行用户测试,然后再加载到 iPad。
我正在寻找在单击文本字段后禁用键盘的解决方案。这意味着在单击文本字段后,用户可以直接从 macbook 键盘输入信息,而不会出现在模拟器中自动显示的虚拟键盘。我已经阅读了很多教程,但它们都在用户输入后关闭了键盘;那不是我要找的。我应该如何隐藏键盘?
非常感谢!
【问题讨论】:
标签: ios keyboard uitextfield
我目前正在开发一个原型,我想先在桌面上进行用户测试,然后再加载到 iPad。
我正在寻找在单击文本字段后禁用键盘的解决方案。这意味着在单击文本字段后,用户可以直接从 macbook 键盘输入信息,而不会出现在模拟器中自动显示的虚拟键盘。我已经阅读了很多教程,但它们都在用户输入后关闭了键盘;那不是我要找的。我应该如何隐藏键盘?
非常感谢!
【问题讨论】:
标签: ios keyboard uitextfield
使用这个:
UIView *dummyView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 0)];
myTextField.inputView = dummyView; // Hide keyboard, but show blinking cursor
它适用于 UITextField 和 UITextView,需要将它们设置为可编辑。
你在这里做了什么:
您创建了一个 width=hight=0 的虚拟视图,并将其分配为您的 textField 的 inputView。
工作原理:
viewController 现在不再显示默认键盘,而是将DummyView 显示为inputView 用于您的UITextField。由于 DummyView 有 Width=height=0,你不会在屏幕上看到任何东西 :)
【讨论】:
这里是another answer,我发现了相同的hack,但几乎没有额外的支持代码sn-p来隐藏闪烁的光标。
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
return NO; // Hides both keyboard and blinking cursor.
}
我需要对 Quantity 文本字段执行此操作,在该字段中我使用 UIStepper 视图增加/减少数量。所以我需要一直隐藏键盘。
【讨论】:
这会将您的 textField 的 inputView 设置为基本上没有框架的空 UIView。
self.theTextField.inputView = [[UIView alloc] initWithFrame:CGRectZero];
【讨论】: