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 在运行时未出现