UITextView的placeholder猥琐做法

      在UITextField中自带placeholder属性,可以用于提示输入框信息。但是UITextView并不具备此功能,经过自己的多次

尝试,终于发现了一种猥琐的做法。以下介绍在UITableView中的情况,XIB更简单,就不记录。

    
    //首先定义UITextView
    UITextView *textView = [[UITextView alloc] init];
    textView.font = [UIFont systemFontOfSize:14];
    textView.frame =CGRectMake(10, 0, cell.contentView.bounds.size.width-20, side);
    textView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
    textView.backgroundColor = [UIColor whiteColor];
    [cell.contentView addSubview:textView];
    textView.hidden = NO;
    textView.delegate = self;
    //其次在UITextView上面覆盖个UILable,UILable设置为全局变量。
    uilabel.frame =CGRectMake(17, 8, cell.contentView.bounds.size.width - side+10, 20);
    uilabel.text = @"请填写审批意见...";
    uilabel.enabled = NO;//lable必须设置为不可用
    uilabel.backgroundColor = [UIColor clearColor];
    [cell.contentView addSubview:uilabel];
然后使用UITextView的代理,每当值改变的时候进行判断。

-(void)textViewDidChange:(UITextView *)textView
{
    self.examineText =  textView.text;
    if (textView.text.length == 0) {
        uilabel.text = @"请填写审批意见...";
    }else{
        uilabel.text = @"";
    }
}

只要这样就可以做一个类似placeholder的功能,是不是有眼前一亮的感觉。

你可能感兴趣的:(IOS)