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的功能,是不是有眼前一亮的感覺。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章