3

如标题所述,如果用户在文本视图中键入内容,则“完成”按钮将启用。但是,如果他们删除了所有内容,它将再次被禁用。对于 UITextField,我只是为它何时更改并检查添加了一个目标,但我看不到 UITextView 的这种方法。

我尝试按如下方式实现委托,但它也不起作用:

- (void)textViewDidChange:(UITextView *)textView {
    if ([textView hasText]) {
        self.doneButton.enabled = YES;
    }
    else {
        self.doneButton.enabled = NO;
    }
}

请注意,viewDidLoad我将 textview 设置为第一响应者。

4

1 回答 1

2

您可以使用UITextViewDelegate'– textViewDidChange:方法,就像您已经拥有的一样。您还必须首先将textView的委托属性设置为符合委托协议并实现此方法的类的实例。

通常,您通过在超类名称后面textView.delegate = self;添加来设置并遵守 .h 文件中的协议。<UITextViewDelegate>

于 2013-04-04T22:29:12.927 回答