如何保持完成按钮禁用,直到用户键入一些东西到UITextView



如标题所述,如果用户输入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文件中的协议。

最新更新