如标题所述,如果用户输入textview, Done按钮将启用。但是如果他们删除了所有的东西,它就会再次失效。对于UITextField,我只是添加了一个目标,当它改变并检查,但我没有看到UITextView这样的方法。
我试图实现委托如下,但它不工作:
- (void)textViewDidChange:(UITextView *)textView {
if ([textView hasText]) {
self.doneButton.enabled = YES;
}
else {
self.doneButton.enabled = NO;
}
}
注意,在viewDidLoad
上,我将textview设置为第一响应者。
您可以使用UITextViewDelegate
的– textViewDidChange:
方法,就像您已经使用的那样。您还必须首先将textView
的委托属性设置为符合委托协议的类的实例,并实现此方法。
通常您设置textView.delegate = self;
,并通过在超类名称后添加<UITextViewDelegate>
来遵守.h文件中的协议。