苹果并没有为UITextView提供placeholder功能。我们可以通过两种办法实现。
方法一:
思路:设置默认显示的文字,颜色设置为灰色。代理方法监听textView的开始编辑和结束编辑时候的字数。
缺点:如果点击到文字上的时候,光标不会出现在textView的一开始的地方。和原生placeholder不同。
_contentText = [[UITextView alloc] init];
_contentText.text = @"请输入您的反馈";
_contentText.textColor = [UIColor grayColor];
_contentText.delegate = self;
遵守<UITextViewDelegate>实现方法
- (void)textViewDidEndEditing:(UITextView *)textView
{
if(textView.text.length < ){
self.contentText.text = @"请输入您的反馈";
self.contentText.textColor = [UIColor grayColor];
}
}
- (void)textViewDidBeginEditing:(UITextView *)textView
{
if([self.contentText.text isEqualToString:@"请输入您的反馈"]){
self.contentText.text=@"";
self.contentText.textColor=[UIColor blackColor];
}
}
方法二:
思路:给textView上加一个UILabel。放到适当的位置。监听输入框文字改变,改变label的alpha
#pragma mark - 监听输入框
- (void)textViewDidChange:(UITextView *)textView{
if (!self.contentText.text.length) {
self.placeHolderLabel.alpha = ;
}else{
self.placeHolderLabel.alpha = ;
}
}