UITextField 和 UIButton 不可点击

Posted

技术标签:

【中文标题】UITextField 和 UIButton 不可点击【英文标题】:UITextField and UIButton are not clickable 【发布时间】:2018-07-03 07:17:18 【问题描述】:

我正在为 URL 检查实现简单的 UI。为此,我使用了 textField 和 button 对象。

当我第一次运行程序时,textField 和按钮会正常工作,但是当我点击键盘上的完成按钮时,键盘会被关闭。现在我想编辑 textField,当我尝试单击 textField 时,它不可点击或不显示键盘。按钮发生了同样的事情,下一个按钮也无法点击。

这是我为按钮操作编写的代码

- (IBAction)urlNextButtonAction:(id)sender 

    [self.urlTextfield resignFirstResponder];

    [SVProgressHUD showWithStatus:@"Verifying URL"];
    [self URLValidationMethod];

Please check this video you will understand the problem very easily

这是来自故事板的 ViewController 屏幕截图

【问题讨论】:

你能显示Button的点击事件的代码吗? 第一次正常工作,第二次以后 textField 工作或按钮工作 您是否添加了键盘通知,如果是,请您显示将触发通知的方法。 不,我没有添加键盘通知 你在那里用过scrollView吗? 【参考方案1】:

这可能有几个问题..

    检查 Textfield 委托可能未设置或未正确设置。 尝试调试文本字段委托方法是否有效。

如果您在keyboardShouldReturn 方法中显示您所写的内容会很有帮助。

【讨论】:

除了 iPod touch 设备和 iPhone 5 模拟器外,它可以在 iPhone 或 iPad 甚至模拟器中工作。如果 Textfield 委托的问题,那么它也不适用于其他设备。 然后尝试在iphone设备而不是模拟器上运行它,在那里你可以获得确切的结果,模拟器有时行为不端,我也遇到过模拟器的问题。 它在 iPhone 8 和 iPad 上工作,在 iPod touch 设备上不工作 不,在真正的iphone设备而不是模拟器上运行它 它可以在真实的 iPhone 设备上工作,但不能在 iPod touch 设备上工作【参考方案2】:

看来问题出在SVProgressHud 上。您应该在任务完成后立即通过调用[SVProgressHud dismiss] 将其删除,否则它将阻止UI

【讨论】:

我删除了 SVProgressHud,但还是同样的问题 请展示ViewControllerstoryboard设计! 是否有任何包含您的文本字段和按钮的子视图? 请查看 Storyboard 中更新的 UI 截图 这正是我们所需要的。让我检查一次。

以上是关于UITextField 和 UIButton 不可点击的主要内容,如果未能解决你的问题,请参考以下文章

设置 UITextField 不可编辑或不可编辑

UIKit框架(18)UIButton和UITextField

UITextField 和 UIButton

UIButton & UITextField 将阻止 UITableViewCell 被滑动删除

怎样在键盘顶部添加UITextField和一个UIButton??

直接在 UIWindow 中添加 UIButton 和 UITextField 或在 UIView 中添加