在用户在UITextView中输入内容之前,如何禁用“完成”按钮?

时间:2013-04-04 22:24:21

标签: ios objective-c ios5 ios6 uitextview

如标题所述,如果用户键入文本视图,则“完成”按钮将变为启用状态。但如果他们删除所有内容,它会再次被禁用。对于UITextField,我刚刚更改了一个目标,然后检查了它,但是我没有看到UITextView的这种方法。

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

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

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

1 个答案:

答案 0 :(得分:2)

您可以使用UITextViewDelegate的{​​{1}}方法。 您还必须首先将– textViewDidChange:的委托属性设置为符合委托协议的类的实例,并实现此方法。

通常通过在超类名称之后添加textView来设置textView.delegate = self;并符合.h文件中的协议。