2

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

用户点击 textField,然后出现键盘,用户可以输入文本...

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

我已经在不同的设备上测试了我的应用程序,但我无法重现错误:它正在正常工作。

也许有人知道该怎么做?

4

4 回答 4

2

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

您的控制器是如何组织的?当您可以重新排列结构并简化事物时,您是否正在更新 Nav 控制器(或类似控制器)?

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

我重新安排了一些东西并把导航控制器放在第一位(在登录和注册的场景之前),所以这个导航控制器被重复使用,而不是在你来回移动时让另外 2 个控制器更新并杀死。一切都很好。

希望有帮助:)

于 2012-10-14T13:25:55.027 回答
2

我的 iPhone App 也有同样的问题,

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

- (void)viewWillAppear:(BOOL)animated

- (BOOL)isViewLoaded

出于某种原因,当您在文本字段上点击手指时,它们会使键盘无响应。

于 2012-11-04T00:20:29.310 回答
1

这可能会有所帮助。我们有一个类似的问题,它与故事板有关。如果您使用情节提要,请删除通向视图控制器的 segue,然后重新链接视图控制器。这没有任何意义,但这就是解决我们问题的原因。

于 2012-10-16T11:18:40.200 回答
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
}
于 2016-01-06T18:42:47.587 回答