美文网首页
初步实现UITextView的placeholder的效果

初步实现UITextView的placeholder的效果

作者: 国民希大大 | 来源:发表于2016-01-28 20:59 被阅读101次

    UITextView和UITextField不同,没有系统自带的placeholder属性。在使用时,需要自己去实现类似placeholder的效果,下面使用了一种比较简单的方法来实现此属性。


    第一步:创建textView,并赋值其文本属性

    textView.text = @"具体内容";

    第二步:遵循代理方法

    <UITextViewDelegate>

    textView.delegate = self;

    第三步:在代理方法中进行相应的操作

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

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

          if ([textView.text isEqualToString:@"具体内容"]) {

                textView.text = @"";

          }

    }

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

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

           if (textView.text.length<1) {

               textView.text = @"具体内容";

           }

    }


    通过这三步便可实现UITextView仿placeholder的效果,如果有充足的时间或者感兴趣,你也可以自定义一个UITextView,并且增加一些属性,比如:颜色、placeholder等等。



    项目实例:

    需要写一个这样的界面,下面要使用三个UITextView,并且每个UITextView里面都有placeholder

    图1

    关键代码:

    首先遵循UITextViewDelegate代理方法

    图2

    然后挂代理,同时给三个不同的TextView加tag,以便于在代理方法中对不同的textView进行不同的操作。   

    图3

    执行代理方法,在代理方法中对不同的textView进行不同的操作。

    图4

    Demo实现效果

    图5

    总结:不知道各位看官有没有注意到一个问题,就是在输入和placeholder一样的内容的时候会出现问题,因为为了项目进度,采用这种简便的方法,但是仍有问题,先记下,在以后的会进行更改。。。

    相关文章

      网友评论

          本文标题:初步实现UITextView的placeholder的效果

          本文链接:https://www.haomeiwen.com/subject/jkdjkttx.html