码迷,mamicode.com
首页 > 其他好文 > 详细

UITextView模拟UITextField 设置Placeholder属性 --董鑫

时间:2015-05-22 18:34:52      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:

  由于最近有用到输入框,刚开始考虑的是UITextField,因为它在没有输入的时候可以有提示的Placeholder更能,很人性化,但UITextField只能单行输入,不能跳行,对于一些强迫症的亲来说,很别捏!所以我就想用UITextView,并找出Placeholder的类似方法。我的思路是使用2个UITextView来模拟出UITextField的PlaceHolder效果,一个背景为透明的TextView放在最上面,另一个责作为PlaceHolder的TextView放在最底层。它们之间通过UITextViewDelegate中的-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text 方法来动态控制。具体代码如下:

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

 

UITextView模拟UITextField 设置Placeholder属性 --董鑫

标签:

原文地址:http://www.cnblogs.com/sixindev/p/4522730.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!