实现UITextView的placeholder

mac2024-11-30  20

  我们知道在iOS开发时,控件UITextField有个placeholder属性,UITextField和UITextView使用方法基本类似,有两个小区别:1.UITextField单行输入,而UITextView可以多行输入。2.UITextField有placeholder属性,而UITextView没有。至于两者的代理方法,原理基本差不多,只是方法名略有差异。

        如何为UITextView添加一个placeholder功能呢,其实方法很简单,三步即可实现:

        1.在创建textView的时候,赋值其文本属性

        即textView.text = @"想说的话";

        2.在开始编辑的代理方法中进行如下操作

 

- (void)textViewDidBeginEditing:(UITextView *)textView {

    if ([textView.text isEqualToString:@"想说的话"]) {

        textView.text = @"";

    }

}

        3.在结束编辑的代理方法中进行如下操作

- (void)textViewDidEndEditing:(UITextView *)textView {

    if (textView.text.length<1) {

        textView.text = @"想说的话";

    }

}

 

        经过上面简单的三步,即可实现placeholder功能,当然你也可以自定义一个UITextView,美化一下,比如添加placeholder的文本颜色等等属性。

最新回复(0)