IOS UITextView加上placeholder

UITextView上如何加上类似于UITextField的placeholder呢,其实在UITextView上加上一个UILabel,然后再实现

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text这个代理方法就可以了。

具体实现如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
     if (![text isEqualToString:@ "" ]) {
         _label1.hidden = YES;
     }
     
     if ([text isEqualToString:@ "" ] && range.location == 0 && range.length == 1 ) {
         _label1.hidden = NO;
     }
 
     return YES;
}

说明如下:

(1) _label1 是加在UITextView上的UILabel

(2) [text isEqualToString:@""] 表示输入的是退格键

(3) range.location == 0 && range.length == 1 表示输入的是第一个字符

效果如下:

IOS UITextView加上placeholder_第1张图片

你可能感兴趣的:(IOS UITextView加上placeholder)