UITextView的placehoder实现带并限制内容长度

1.在viewDidLoad中添加一个默认字体的Lable

placeHoderLable = [[UILabel alloc]initWithFrame:CGRectMake(3,3, DeviceWidth-6,40)];//根据情况调节位置placeHoderLable.enabled=NO;

placeHoderLable.text=@"请在这里输入您要预测的内容。";

placeHoderLable.numberOfLines=0;

placeHoderLable.font=  [UIFontsystemFontOfSize:12];

placeHoderLable.textColor= [UIColorlight GrayColor];

[_myTextView addSubview:placeHoderLable];

_myTextView.delegate=self;//记得设置textview的代理_myTextView.returnKeyType=UIReturnKeyDone;

2.在textView的代理方法中实现以下代码

-(void)textViewDidChange:(UITextView*)textView

{     if([_myTextView.textlength] ==0) {

       [placeHoderLable setHidden:NO];

      }else {

        [placeHoderLable setHidden:YES];

    }

}


- (BOOL)textView:(UITextView*)textView shouldChangeTextInRange:(NSRange)range replacementText: (NSString*)text

{

       if([text isEqualToString:@"\n"]|| ([text isEqualToString:@""])

    {

      [textView resignFirstResponder];

     returnNO;

   }

if(range.location>=200){

_yuNumLable.text=@"还能输入0字" ;

returnNO;

}else{

_yuNumLable.text=[NSStringstringWithFormat:@"还能输入%lu字",200-range.location];

returnYES;

  }

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容