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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • idea怎么远程debug_idea 多线程调试

    idea怎么远程debug_idea 多线程调试1,远程DEBUG的必要性由于部署环境的差异性,相信很多朋友都碰到过开发环境正常测试过的功能在测试环境甚至生产环境下出现bug的情况。一般情况下,生产环境可以采取的手段比较单一,即通过日志的方式获取运行中的环境上下文,分析日志文件并尝试重现bug。这会带来的问题还是不少的,首先,日志的分析是一项比较耗时的工作;其次,现有的日志记录不一定能反映出问题,你可能需要多次重复这个过程(分析日志->猜测问题->加日志->部署->获取日志)来慢慢逼近问题。倘若是测试环境,我们还多了一项可..

  • pytest fixtures_today fixture

    pytest fixtures_today fixturefixture的优势Pytest的fixture相对于传统的xUnit的setup/teardown函数做了显著的改进:命名方式灵活,不局限于setup和teardown这几个命名conf

  • C++数组初始化[通俗易懂]

    C++数组初始化[通俗易懂]C++数组初始化定义:int*pia=newint[10];// arrayof10uninitialized ints此 new 表达式分配了一个含有10个 int 型元素的数组,并返回指向该数组第一个元素的指针,此返回值初始化了指针 pia。在自由存储区中创建的数组对象是没有名字的,只能通过其地址间接地访问堆中的对象。注意:C++使用new和delete…

  • ip地址子网掩码默认网关dns的含义_子网掩码和默认网关的作用

    ip地址子网掩码默认网关dns的含义_子网掩码和默认网关的作用转载于:https://www.cnblogs.com/JuneWang/p/3917697.htmlIP地址,子网掩码,默认网关,DNS服务器是什么意思?(一)问题解析001.问:IP地址,子网掩码,默认网关,DNS服务器,有什么区别呀?我知道没有IP地址就不能上网,我也知道没设DNS就不能上外网,可它们都有什么功能,有什么区别呢?还有真奇怪,我的计算机没设DNS,竟然能上QQ,却不能打开网页,这是为什么呢>答:IP是32位二进制数据,通常以十进制表示,并以“.”…

  • Unity3d C# Socket 下载文件 (同步到)

    Unity3d C# Socket 下载文件 (同步到)

  • silverlight开发_net网站例子

    silverlight开发_net网站例子http://money.finance.sina.com.cn/silverlight/Sina财经Silverlight4.0版http://vip.stock.finance.sina.com.cn/silverpulsehttp://pjd.mscui.net/default.htmhttp://www.silverlight.net 学习网站:http:/

    2022年10月10日

发表回复

您的电子邮箱地址不会被公开。

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