UITextField 具有焦点时未禁用 UIButton

Posted

技术标签:

【中文标题】UITextField 具有焦点时未禁用 UIButton【英文标题】:UIButton not disabled when UITextField has focus 【发布时间】:2010-05-28 20:45:33 【问题描述】:

我有一个 UIButton - 一个提交按钮 - 我为其设置了启用和禁用状态和标题。当我的程序通过禁用按钮进行 api 调用时,我使用提交按钮标题来显示类似 @"Sending..." 的状态。

它工作正常,直到有人在 UITextField 上输入评论的边缘情况,而不是关闭键盘/完成编辑只是点击提交按钮(所以键盘仍然是向上的)。 在这种情况下,禁用按钮不会将标题和背景更改为禁用状态。

这是 firstResponder 的问题吗?我试图在设置 button.enabled = NO 之前明确告诉评论字段 resignFirstResponder,但它仍然没有更新按钮。

【问题讨论】:

【参考方案1】:

你在实现这个 UITextFieldDelegate 方法吗:

- (void)textFieldShouldEndEditing:(UITextField *)textField 
    [textField resignFirstResponder];
    button.enabled = NO;

然后退出文本字段的第一响应者并禁用按钮?

【讨论】:

【参考方案2】:

有时 textFieldSHouldEndEditing 不会被调用,因为该字段可能不会失去焦点,所以我会尝试明确告诉文本字段在禁用按钮之前辞职。好像不行……

【讨论】:

以上是关于UITextField 具有焦点时未禁用 UIButton的主要内容,如果未能解决你的问题,请参考以下文章

Swift 如何在另一个 UITextField 突出显示或具有值时禁用 TextField

UITableViewCell 中的 UITextField 在运行时未出现

Swift - 出现清除按钮时禁用文本移位

UITextField 失去焦点事件

使用 kivy 和 python 返回屏幕管理器时未设置焦点

如何从 UITextField 中移除焦点?