【发布时间】:2018-01-28 04:11:42
【问题描述】:
如果 UITextView 使用以下代码为空,我正在尝试禁用我的 uibutton。如果该字段为空,则该按钮将禁用,但是,当我使用以下内容时,如果文本视图中有值,该按钮似乎不会“启用”?知道这是为什么吗?
编辑/更新:我在下面更新了我的代码(问题解决了一半)。在这种情况下,如果文本视图为空,我的发送按钮将被禁用。但是,一旦我的视图中有文本并按下发送,如果我再次点击发送(文本视图再次为空),发送按钮将不再被禁用。为什么是这样?
- (void)viewDidLoad {
[super viewDidLoad];
self.sendButton.userInteractionEnabled = NO;
}
- (void)textViewDidChange:(UITextView *)textView {
self.sendButton.userInteractionEnabled = (textView.text.length > 0);
}
【问题讨论】:
-
因为您将代码放在 viewDidLoad 中,该代码仅在加载控制器时执行一次。您应该检查 UITextField 委托并了解如何使用它。
-
@Surely 最初,我在 textViewDidBeginEditing 中有它,但仍然没有骰子?
-
为什么我的问题被否决了?
-
您的问题解决了一半意味着解决方案有效。第二次不起作用的原因是,如果您手动将 textview 的文本设置为空,则不会触发委托方法,您还需要手动禁用它。并且可能您想使用“setEnabled”方法而不是 userInteractionEnabled。
-
@Surely 你是个天才——完全正确。谢谢你!!有什么建议:我应该如何清除 textview?
标签: ios objective-c uibutton