我目前正在开发一个原型,我希望在加载到iPad之前先在桌面上进行用户测试。
我正在寻找单击文本字段后禁用键盘的解决方案。这意味着在单击文本字段后,用户可以直接从macbook键盘输入信息,并且不会显示自动显示在模拟器中的虚拟键盘。我经历了很多教程,但他们都是在用户输入后解雇键盘;这不是我想要的。我该如何隐藏键盘?
非常感谢!
答案 0 :(得分:7)
使用此功能:
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
的输入视图。
工作原理:
现在,viewController不是显示默认键盘,而是为DummyView
显示inputView
UITextField
。由于DummyView有Width=height=0
,您在屏幕上看不到任何内容:)
答案 1 :(得分:2)
以下是another answer,我发现了同样的黑客,但没有额外的支持代码片段来隐藏闪烁的光标。
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
return NO; // Hides both keyboard and blinking cursor.
}
我需要为数量文本字段完成此操作,其中我使用UIStepper视图增加/减少数量。所以我总是需要隐藏键盘。
答案 2 :(得分:1)
这会将textField的inputView
设置为基本上没有框架的空UIView
。
self.theTextField.inputView = [[UIView alloc] initWithFrame:CGRectZero];