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