UITextView用法总结

最近工作灰常忙,没有时间学习总结新的资料,还是针对基础内容发篇文章,把之前的总结发上来一起分享~~


[objc]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. //初始化   
  2.     UITextView *textview = [[UITextView alloc] initWithFrame:CGRectMake(201028030)];  
  3.     textview.backgroundColor=[UIColor whiteColor];  
  4.     textview.scrollEnabled = NO;    //当文字超过视图的边框时是否允许滑动,默认为“YES”  
  5.     textview.editable = YES;        //是否允许编辑内容,默认为“YES”  
  6.     textview.delegate = self;       //设置代理方法的类给予  
  7.     textview.font=[UIFont fontWithName:@"Arial" size:18.0]; //设置字体与大小;  
  8.     textview.returnKeyType = UIReturnKeyDefault;//return键的类型  
  9.     textview.keyboardType = UIKeyboardTypeDefault;//键盘类型  
  10.     textview.textAlignment = NSTextAlignmentLeft; //文字的显示  
  11.     textview.dataDetectorTypes = UIDataDetectorTypeAll; //显示数据类型的连接模式(如电话号码、网址、地址等)  
  12.     textview.textColor = [UIColor blackColor];//文字颜色  
  13.     textview.text = @"UITextView详解";//文本内容  
  14.     [self.view addSubview:textview];//添加  


UITextView的代理:

[objc]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. //将要开始编辑  
  2. - (BOOL)textViewShouldBeginEditing:(UITextView *)textView;  
  3.   
  4. //将要结束编辑  
  5. - (BOOL)textViewShouldEndEditing:(UITextView *)textView;  
  6.   
  7. //开始编辑  
  8. - (void)textViewDidBeginEditing:(UITextView *)textView;  
  9.   
  10. //结束编辑  
  11. - (void)textViewDidEndEditing:(UITextView *)textView;  
  12.   
  13. //内容将要发生改变编辑  
  14. - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text;  
  15.   
  16. //内容发生改变编辑  
  17. - (void)textViewDidChange:(UITextView *)textView;  
  18.   
  19. //焦点发生改变  
  20. - (void)textViewDidChangeSelection:(UITextView *)textView;  


下面是我们经常使用的一些小方法(参考资料-风之语2018的博客):

[objc]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. //有时候我们要控件自适应输入的文本的内容的高度,只要在textViewDidChange的代理方法中加入调整控件大小的代理即可  
  2. - (void)textViewDidChange:(UITextView *)textView{  
  3.     //计算文本的高度  
  4.     CGSize constraintSize;  
  5.     constraintSize.width = textView.frame.size.width-16;  
  6.     constraintSize.height = MAXFLOAT;  
  7.     CGSize sizeFrame =[textView.text sizeWithFont:textView.font  
  8.                                 constrainedToSize:constraintSize  
  9.                                     lineBreakMode:UILineBreakModeWordWrap];  
  10.       
  11.    //重新调整textView的高度  
  12.     textView.frame = CGRectMake(textView.frame.origin.x,textView.frame.origin.y,textView.frame.size.width,sizeFrame.height+5);  
  13. }  

[objc]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. //如果你的textview里不用回车键,可以把回车键当做退出键盘的响应键。  
  2. 代码如下:  
  3.   
  4. -(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text  
  5. {  
  6.     if ([text isEqualToString:@"\n"]) {  
  7.         [textView resignFirstResponder];  
  8.         return NO;  
  9.     }  
  10.     return YES;  
  11. }  

[objc]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. //控制输入文字的长度和内容,可通调用以下代理方法实现  
  2. - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text  
  3. {  
  4.     if (range.location>=100)  
  5.     {  
  6.         //控制输入文本的长度  
  7.         return  NO;  
  8.     }  
  9.     if ([text isEqualToString:@"\n"]) {  
  10.         //禁止输入换行  
  11.         return NO;  
  12.     }  
  13.     else  
  14.     {  
  15.         return YES;  
  16.     }  
  17. }  


感谢观看,学以致用更感谢~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值