我有一个非常简单的屏幕,带有默认配置的UITextField,没什么特别的。
当我触摸UITextField时,键盘不会弹出。
我没有任何自定义控制,行为或其他任何东西,只是这样,但它不起作用。
我已经在AppStore上已有的iPhone / iPad应用程序中完成了这个,但我无法弄清楚这里出了什么问题。
UITextField是在Interface Builder中的nib文件中创建的
我一直在做一些研究,我在UIViewController中添加了一个用于UItextField TouchDown事件的IBAction和用于UITexField的IBOutlet。
在代码的第一行,我补充说:
[textFild becomeFirstResponder];
这是UITextField的默认行为,当你触摸它时,它成为第一个要求系统显示键盘的响应者。
我调试它并运行该行,但键盘仍未显示
提前谢谢。
答案 0 :(得分:6)
您应该检查的一件事是确保包含视图(包含所有控件的 UIView )(Interface Builder nib查看器中的View图标)已启用用户交互检查。如果父容器未选中此选项,即使单个控件执行了此操作,您也会看到此行为。
答案 1 :(得分:3)
很多时候你的代码是对的,它只是你的Xcode或模拟器的设置。
尝试在模拟器中切换键盘软件
Simulator --> Hardware --> Keyboard --> Toggle Software Keyboard
或者只是点击Command + K
它会做同样的事情
答案 2 :(得分:1)
我自己已经想通了! 我在UIViewController中有UITextField,它从另一个视图控制器中呈现 谁响应了运动事件,而之前的View Controller总是第一响应者。 我所要做的就是每次我在viewWillDisappear中留下控制器的视图:( BOOL)动画,我称之为[self resignFirstResponder];这就是全部。
答案 3 :(得分:0)
我花了一段时间找到这种愚蠢的疏忽,但请确保将UITextView的两个属性:selectable和editable都设置为true。
答案 4 :(得分:0)
这是很基本的事情,但是请确保在情节提要编辑器中选中了 USER INTERACTION 和 ENABLED 。