当进入UITextField时,iPhone键盘不会出现

问题描述:

这必须是某种新手的错误,我只需要’就可以了,而且我会感谢提示什么要检查或在哪里寻找。当进入UITextField时,iPhone键盘不会出现

我跟着一个iPhone教程,有一个UITextField,确保我连接IBOutlet的文本字段,它似乎编译正确(没有错误或警告)。但是当我在模拟器下运行它,并在该字段中单击时,我不会让’获得键盘,因此我可以在该字段中输入任何内容。

我’已经尝试在网站上搜索类似的问题,我发现的所有问题都是一些问题,其中开发人员尝试使用多个控制器设置一些复杂的UI,并且似乎是同一个问题,但原始的海报只是说他通过开始一个新项目并移植代码来解决它。我喜欢找到一个实际的解决方案,所以我不想尝试随机重建项目,当这个问题再次出现时,我不需要’。

谢谢!

+0

有同样的问题,我有4个应用程序已经在AppStore上,这是我第一次看到这个!正在让我发疯。 – jsicary 2010-08-28 06:05:28

什么是连接到UITextField的代表?你确定代理功能,特别是- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField 正在返回正确的东西(在这种情况下是)?

+0

本教程不要求与委托的连接,只有一个委托给视图控制器中的IBOutlet。我已经通过另一个教程,也有没有委托的UITextField,简单地连接到视图控制器的IBOutlet,那一个工作。 如果有任何帮助,我遇到困难的教程是Mark和LaMarche的“Beginning iPhone 3 Development”。 – Norm 2010-05-03 16:03:12

不知道这是否是别人的问题,但我在模式显示的TabBar控制器中使用TextField,并且在主视图控制器中添加了摇动手势。这不幸意味着我在viewDidLoad中设置了[self becomeFirstResponder]。在这种情况下,当我的模态视图显示它不成为第一响应者,因此键盘不显示。

为了解决它,我在调用模态显示之前添加了[self resignFirstResponder],并且一切都很好!耶(只花了五天的时间来弄清楚)。

+0

对我不起作用:( – jsicary 2010-08-28 17:37:44

Basicly你需要做的唯一的事情就是声明的文本字段中.H

IBOutlet UITextField *textField

然后用相同的名称申报财产

@property (nonatomic, retain) UITextField *textField;

然后确保你在.m中合成

@synthesize textField;

,那么你必须到外地的界面生成器

链接确保父容器有用户交互启用检查。单个控件对此进行检查是不够的。 UIView可能会无意中得到这个取消选择。

有一件事你应该检查是为了确保包含视图(的UIView包含的所有控件),这是在Interface Builder笔尖浏览器查看图标,已使用户交互检查。如果父容器没有被检查过,即使单独的控件有,你会看到这种行为。

+0

谢谢!我的视图有用户交互启用未选中。我正在通过Aress的书,我没有选中该视图,当我应该确保它没有选中图像视图I添加 – 2011-09-10 22:43:35

只是为了在排除故障时覆盖所有的基础,请确保它不是导致此问题的iOS模拟器。我在进入UITextView时没有看到键盘出现,事实证明,模拟器允许您在显示虚拟键盘和只使用笔记本电脑的键盘之间切换。

您通过两个之间切换:

Hardware>Keyboard>Toggle Software Keyboard

或按Cmd的+ K

(我的资料来源:https://*.com/a/24401535/1700540

所以一定要确保你没有误切换模拟器只使用物理键盘! ...就像我有

+1

是的,就是这样。 – sabiland 2014-10-30 07:49:59