博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS开发-UITextView根据内容自适应高度
阅读量:6272 次
发布时间:2019-06-22

本文共 1302 字,大约阅读时间需要 4 分钟。

UITextView作为内容文本输入区域,有的时候我们需要根据内容动态改变文本区域的高度,效果如下:

定义UITextView,实现UITextViewDelegate:

1
2
3
4
5
6
7
8
9
10
11
12
-(UITextView *)textView{
    
if 
(!_textView) {
        
//http://www.cnblogs.com/xiaofeixiang/
        
_textView=[[UITextView alloc]initWithFrame:CGRectMake(30, 200, CGRectGetWidth([[UIScreen mainScreen] bounds])-60, 30)];
        
[_textView setTextColor:[UIColor redColor]];
        
[_textView.layer setBorderColor:[[UIColor blackColor] CGColor]];
        
[_textView setFont:[UIFont systemFontOfSize:15]];
        
[_textView.layer setBorderWidth:1.0f];
        
[_textView setDelegate:self];
    
}
    
return 
_textView;
}

实现textViewDidChange方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
-(
void
)textViewDidChange:(UITextView *)textView{
    
//博客园-FlyElephant
    
static 
CGFloat maxHeight =60.0f;
    
CGRect frame = textView.frame;
    
CGSize constraintSize = CGSizeMake(frame.size.width, MAXFLOAT);
    
CGSize size = [textView sizeThatFits:constraintSize];
    
if 
(size.height<=frame.size.height) {
        
size.height=frame.size.height;
    
}
else
{
        
if 
(size.height >= maxHeight)
        
{
            
size.height = maxHeight;
            
textView.scrollEnabled = YES;   
// 允许滚动
        
}
        
else
        
{
            
textView.scrollEnabled = NO;    
// 不允许滚动
        
}
    
}
    
textView.frame = CGRectMake(frame.origin.x, frame.origin.y, frame.size.width, size.height);
}
本文转自Fly_Elephant博客园博客,原文链接:http://www.cnblogs.com/xiaofeixiang/p/5148380.html,如需转载请自行联系原作者
你可能感兴趣的文章
sharepoint 2013 补丁升级步骤
查看>>
asp.net core 2.0 web api基于JWT自定义策略授权
查看>>
Skype for Business Server 2015-04-前端服务器-3-安装-管理工具
查看>>
第12章代码《跟老男孩学习Linux运维:Shell编程实战》
查看>>
我们为什么从Python转到go?
查看>>
5.Azure负载均衡(上)
查看>>
轻松精通awk数组企业问题案例
查看>>
26.Azure备份服务器(下)
查看>>
从“网上说的能信么”说开去---学习的思考
查看>>
DHCP 日志分析
查看>>
.NET Micro Framework动态调用C/C++底层代码(原理篇)
查看>>
Windows Server 2012正式版RDS系列⒃
查看>>
Shell脚本之awk篇
查看>>
微软发布Azure Stack硬件需求
查看>>
python socket编程详细介绍
查看>>
Windows Server 2016第三个技术预览版新技术
查看>>
Everything 本地磁盘文件搜索工具下载!
查看>>
Python dict(字典) 详细总结
查看>>
RPF(Reverse Path Forwarding 反向路径转发)技术
查看>>
2016年收到的第一件礼物,被评上微软全球最有价值专家MVP(一)
查看>>