iOS Dev (59) 高度自适应的UITextView

iOS Dev (59) 高度自适应的UITextView

大家好,又见面了,我是全栈君。

iOS Dev (59) 高度自适应的UITextView

作者:阿锐 地址:http://blog.csdn.net/prevention

例如以下 _inputTextView 为一个 UITextView 实例。首先要设置它的 delegate。然后要在你的头文件的 interface 声明中加上 UITextViewDelegate。

_inputTextView.delegate = self;

在 implementation 中实现例如以下方法:

- (void)textViewDidChange:(UITextView *)textView
{
    // 获取原来的 frame
    CGRect tmpRect = _inputTextView.frame;

    CGSize size = [_inputTextView.text sizeWithFont:[UIFont systemFontOfSize:_inputTextFontSize]
                               constrainedToSize:CGSizeMake(YOUR_TEXTVIEW_WIDTH, 2000)
                                   lineBreakMode:NSLineBreakByWordWrapping];

    tmpRect.size.height = size.height + 20; // 20 points for padding
    tmpRect.origin.y = keyboardPositionY - tmpRect.size.height;

    _inputTextView.frame = tmpRect;
    _inputTextView.text = _inputTextView.text;
}
  • 注意上面的 YOUR_TEXTVIEW_WIDTH 是你的 UITextView 的宽度。

  • 注意 lineBreakMode 选 NSLineBreakByWordWrapping。比較老的版本号中是 UILineBreakModeWordWrap。
  • size.height + 20 中的 20 是我留出来的 padding。
  • _inputTextFontSize 是你设置的字号高度
  • 这批那文章来自 blog.csdn.net/prevention 。转载请注明。

转载请注明来自:http://blog.csdn.net/prevention

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116645.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SICP 1.20经验

    SICP 1.20经验

    2021年12月17日
    42
  • c++ uint32_t_int32和uint32

    c++ uint32_t_int32和uint32文章目录使用int64_t形式代替基本类型使用原因stdint.h源码int32_t和uint32_t的区别size_t在不同机器中定义不同:参考文档使用int64_t形式代替基本类型我们都知道,C语言的基本类型就char,short,int等。但是我们在看其他源码时经常碰到int32_t,int8_t这种形式的定义,他们是什么呢。其实他们就是基本类型的typedef重定义。也就是不同平台下,使用以下名称可以保证固定长度。1字节int8_t——char2字节int1

    2026年2月2日
    4
  • ubuntu分区方案图解_win7分区最大多少G

    ubuntu分区方案图解_win7分区最大多少G新手参考/boot200M/30G/home66G/swap4G

    2025年6月17日
    3
  • 视频直播技术详解之延迟优化

    视频直播技术详解之延迟优化声明:本文为CSDN原创投稿文章,未经许可,禁止任何形式的转载。作者:七牛云责编:钱曙光,关注架构和算法领域,寻求报道或者投稿请发邮件qianshg@csdn.net,另有「CSDN高级架构师群」,内有诸多知名互联网公司的大牛架构师,欢迎架构师加微信qshuguang2008申请入群,备注姓名+公司+职位。七牛云于6月底发布了一个针对视频直播的实时流网络LiveNet和完…

    2022年7月24日
    13
  • 小米6最好用的系统版本[通俗易懂]

    小米6最好用的系统版本[通俗易懂]小米6最好用的系统版本小米6最好用的系统稳定版10.4.3首先说一下为什么这个版本的系统我认为最好用,因为自己是米粉,也比较喜欢用最新的系统,去年用小米6收到了10.4.2版本的系统更新,体验之后感觉真的很nice,安卓9流畅度提升非常高,包括软件的启动速度,各项反应,但是有一些小瑕疵,比如断流,软件闪退,系统掉帧,然后过了一段时间小米推送了10.4.3稳定版,修复了这三个问题,体验至今为止,没有其他任何问题该版本优点总结如下第一,该版本基于miui10,系统简单易用,基本上算是miui的一个小成的

    2022年6月27日
    109
  • mybatisCodeHelperPro安装详解(ideal2021版本)「建议收藏」

    mybatisCodeHelperPro安装详解(ideal2021版本)「建议收藏」文章目录一、资源下载二、卸载旧版本插件三、将下载下来的mybatisCodeHelperPro放入到ideal安装路径内的plugins中四、启动ideal激活插件4.1打开记录界面4.2激活插件一、资源下载二、卸载旧版本插件三、将下载下来的mybatisCodeHelperPro放入到ideal安装路径内的plugins中四、启动ideal激活插件4.1打开记录界面Tools—MybatisCodeHelper—Activation4.2激活插件五、验证功能…

    2022年9月21日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号