iOS应用开发中使UITextField实现placeholder属性的方法

2020-01-15 13:33:34刘景俊
易采站长站为您分析iOS应用开发中使UITextField实现placeholder属性的方法,示例代码为传统的Objective-C语言,需要的朋友可以参考下  

我们都知道iOS开发中的UITextField有个placeholder属性,placeholder可以很方便引导用户输入。但是UITextView却没有placeholder属性。

一、猥琐的方法

如何让UITextView也有placeholder功能呢?今天给各位分享一个比较猥琐的做法。思路大概是这样的:

  • 把UITextView的text当placeholder使用。
  • 在开始编辑的代理方法里清除placeholder。
  • 在结束编辑的代理方法里在设置placeholder。

    实现方法:

    1.创建UITextView:

    复制代码
    UITextView *textViewPlaceholder = [[UITextView alloc] initWithFrame:CGRectMake(20, 70, SCREEN.width - 40, 100)];
    textViewPlaceholder.backgroundColor = [UIColor whiteColor];
    textViewPlaceholder.text = @"jb51.net";
    textViewPlaceholder.textColor = [UIColor grayColor];
    textViewPlaceholder.delegate = self;
    [self.view addSubview:textViewPlaceholder];
    初始化UITextView,给UITextView的text赋值,并且给UITextView的textColor属性设置成灰色,让其看起来更像placeholder。

     

    别忘了设置UITextView的代理,因为后面我们要用到UITextView的两个代理方法。

    2.开始编辑的代理方法:

    复制代码
    - (void)textViewDidBeginEditing:(UITextView *)textView {

     

        if ([textView.text isEqualToString:@"jb51.net"]) {
            textView.text = @"";
            textView.textColor = [UIColor blackColor];
        }
    }


    在开始编辑的代理方法里面,判断如果是UITextView的text的值是placeholder,那么,就清空text,并且把textColor设置成真正的内容颜色,假设是黑色。

     

    3.结束编辑的代理方法:

    复制代码
    - (void)textViewDidEndEditing:(UITextView *)textView {