如何在iOS中单击UITextField时禁用键盘?

时间:2014-01-17 20:17:42

标签: ios keyboard uitextfield

我目前正在开发一个原型,我希望在加载到iPad之前先在桌面上进行用户测试。

我正在寻找单击文本字段后禁用键盘的解决方案。这意味着在单击文本字段后,用户可以直接从macbook键盘输入信息,并且不会显示自动显示在模拟器中的虚拟键盘。我经历了很多教程,但他们都是在用户输入后解雇键盘;这不是我想要的。我该如何隐藏键盘?

非常感谢!

3 个答案:

答案 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];
相关问题