无法点击UITextField(iOS 6)

时间:2012-09-27 11:27:53

标签: xcode uitextfield ios6

我在.xib中有一个UITextField和UIButton。按钮位于该字段下且处于非活动状态(禁用用户交互)。

用户点击textField,而不是键盘,用户可以输入文字......

问题:一些使用iOS6的用户无法点击textField(键盘没有出现),但在其他视图中,一切正常(并且它在iOS5上运行完美)。

我已经在不同设备上测试了我的应用,但我无法重现错误:它正在运行。

也许有人知道该怎么做?

4 个答案:

答案 0 :(得分:2)

这可能会有所帮助,也可能没有帮助,但我想我会提供一个答案,以防万一它能帮到你。

您的控制器是如何组织的?当你重新安排结构并简化事物时,你是否正在新建导航控制器(或类似物)?

我的应用程序遇到类似的问题,其中文本字段在iOS4中有效但在iOS5中无效。事实证明,我的控制器的组织导致了问题,因为它在语义上不正确。我有一个带有2个按钮的场景(登录和注册),每个按钮产生一个新的导航控制器,上面有适当的场景。输入电子邮件/密码的字段在iOS4中工作,而不在iOS5中。

我重新排列了一些东西并将导航控制器放在第一位(在登录和注册的场景之前),因此这个导航控制器被重复使用,而不是让另外两个人在你来回移动时被新生和杀死。一切都很有效。

希望有所帮助:)

答案 1 :(得分:2)

我的iPhone App遇到了同样的问题,

我通过杀死以下方法来修复它:

- (void)viewWillAppear:(BOOL)animated

- (BOOL)isViewLoaded

由于某些原因,当您在Textfield上轻敲手指时,他们会让键盘无法响应。

答案 2 :(得分:1)

这可能会有所帮助。我们遇到了类似的问题,它与故事板有关。如果您正在使用故事板,请删除指向视图控制器的segue,然后重新链接视图控制器。它没有任何意义,但这就解决了我们的问题。

答案 3 :(得分:1)

对我来说,我在点击文本字段时试图显示UIPicker。所以,我让我的ViewController符合UITextViewDelegate。因此,我有以下功能:

func textFieldShouldBeginEditing(textField: UITextField) -> Bool {
    if (textField == districtTextField) {
        districtPickerView.hidden = false
    }
    return false
}

问题是我为所有字段返回false,我只需要为控制UIPicker的字段返回false。这是正确的版本

func textFieldShouldBeginEditing(textField: UITextField) -> Bool {
    if (textField == districtTextField) {
        districtPickerView.hidden = false
        return false
    }
    return true
}