iOS UITextView 高度随文字自动增加,并跟随键盘移动(二)

本文介绍了如何在iOS开发中使UITextView的高度随着文字内容自动增加,并且在用户输入时适配键盘显示。通过计算每个字符的宽度和高度,结合TextView的宽度,动态调整TextView的高度。同时提出了解决评论区域行数限制的问题,当超过设定行数后,不再增加高度,而是启用滚动功能。代码已上传至群空间供参考。
摘要由CSDN通过智能技术生成

上节地址:http://blog.csdn.net/lwjok2007/article/details/47401293

接着上节我们来实现 输入框自动调节高度

首先,我们得知道,要判断是否该换行了 前提是得知道 一行可以输入多少文字,

我们很容易能知道我们输入框的宽度,那么下来只要知道每个文字的宽度就可以计算一行文字的个数了

然后根据文字文字高度计算每超过一行我们需要给textView 添加的高度


首先要计算每个文字的宽度和高度(我们按照正方形处理)

我们用到了 一个方法 sizeWithAttributes

他为我们提供了计算文字大小的方法,具体大家可以去研究api 这里我们直接使用

首先新建一个变量

    float heightText;//文字高度


然后使用该方法计算高度(前提是,文字的大小得提前知道,我们就按照20 计算)

    NSDictionary *dict=@{NSFontAttributeName:[UIFont systemFontOfSize:20.0]};
    CGSize contentSize=[@"我" sizeWithAttributes:dict];
    heightText=contentSize.height;


接下来我们需要在文本框内容变化的时候计算所有文字的长度,判
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值