【问题标题】:Keyboard shows up when not needed不需要时出现键盘
【发布时间】:2010-06-29 12:58:27
【问题描述】:

我刚刚下载了 SDK 4.0,我想调整针对 SDK 3.1.3 开发的 iPhone 应用程序。不幸的是,该应用在 iPhone 4.0 模拟器中的行为方式很奇怪。

第一件事是我有一个表格视图,其中包含单元格中的文本字段。当我显示视图时,键盘会立即显示,但我无法修改任何文本视图。当我尝试选择任何文本字段时,焦点不会改变,并且最终无法修改文本字段。

每个文本视图都添加了一个UITextFieldDelegate,但是当视图出现时(连同键盘一起),它的任何方法都不会被调用。当我选择其中一个文本视图时,

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField

被调用,我返回YES

这就是视图的样子:

alt text http://img52.imageshack.us/img52/3310/iphonesimulator.png

有什么想法吗?

【问题讨论】:

    标签: iphone ios-simulator ios4


    【解决方案1】:

    我没有看到这种行为,但为了排除故障,我建议禁用文本字段并查看行为是否消失。如果是这样,请将文本字段添加回模式中,直到找到触发键盘的那个。

    您还可以查看 nib/s,看看您是否在某处有隐藏的文本字段。

    【讨论】:

    • 感谢您的建议!我在代码中添加了所有文本字段。禁用所有文本字段后,键盘仍会显示。
    【解决方案2】:

    我让它正常工作。 语境: 我有两个视图:在第一个视图中,我有文本视图,在第二个视图中,我有一个带有一些文本字段的表格视图。 问题: 在我的第一个视图中

    - (BOOL)textViewShouldEndEditing:(UITextView *)textView 
    

    方法总是返回NO用于文本视图。这就是为什么当我显示第二个视图时仍然显示文本视图的键盘的原因。 它在 SDK 3.1.3 中运行良好,所以它必须在 SDK 4.0 中进行了更改。

    【讨论】:

      猜你喜欢
      • 2012-01-06
      • 1970-01-01
      • 2012-08-11
      • 1970-01-01
      • 2015-02-02
      • 2013-04-26
      • 2013-02-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多