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

iOS Dev (59) 高度自适应的UITextView的更多相关文章

  1. ios swift UITextView高度自适应

    在ios开发中,用到多行输入时一般都会用到UITextView.常见的比如说聊天输入框,评论输入框等,当用户输入多内容时,我们希望高度能根据用户输入的内容扩大而扩大.其实实现这个功能也不是很难,只需要 ...

  2. iOS Dev (60) 怎样实现 UITextView 中的 placeHolder

    iOS Dev (60) 怎样实现 UITextView 中的 placeHolder 作者:阿锐 地址:http://blog.csdn.net/prevention - 跟着你的 UITextVi ...

  3. iOS开发之多种Cell高度自适应实现方案的UI流畅度分析

    本篇博客的主题是关于UI操作流畅度优化的一篇博客,我们以TableView中填充多个根据内容自适应高度的Cell来作为本篇博客的使用场景.当然Cell高度的自适应网上的解决方案是铺天盖地呢,今天我们的 ...

  4. iOS UILable高度自适应

    适用于iOS6以后 NSString *tip = @"UILable高度自适应,UILable高度自适应,UILable高度自适应"; UILabel label_2 = [[U ...

  5. 转:iOS开发之多种Cell高度自适应实现方案的UI流畅度分析

    本篇博客的主题是关于UI操作流畅度优化的一篇博客,我们以TableView中填充多个根据内容自适应高度的Cell来作为本篇博客的使用场景.当然Cell高度的自适应网上的解决方案是铺天盖地呢,今天我们的 ...

  6. iOS 开发中单元格cell高度自适应

    高度自适应分下面两种情况 1.用代码自定义的cell 用代码自定义的cell,cell高度自定义需要我们手动的去计算每个cell的字符串高度.然后返回对应的高度即可. 2.用XIB 或者 StoreB ...

  7. uitableviewcell高度自适应笔记

    今天看了几篇uitableviewcell高度自适应的文章,大体分为两种方式. 第一种方式,cell里面有label,在cellforrow绘制的时候计算Label的可能高度,并且在此时重新计算cel ...

  8. Unity NGUI根据高度自适应屏幕分辨率

    Unity版本:4.5.1 NGUI版本:3.6.5 本文内容纯粹转载,转载保留参考链接和作者 参考链接:http://blog.csdn.net/asd237241291/article/detai ...

  9. 谷歌、火狐浏览器下实现JS跨域iframe高度自适应的完美解决方法,跨域调用JS不再是难题!

    谷歌.火狐浏览器下实现JS跨域iframe高度自适应的解决方法 导读:今天开发的时候遇到个iframe自适应高度的问题,相信大家对这个不陌生,但是一般我们都是在同一个项目使用iframe嵌套页面,这个 ...

随机推荐

  1. 嵌入式linux多进程编程

    嵌入式linux多进程编程 在主程序显示文本菜单.提供例如以下服务.要求每一个服务都通过生成子进程来提供. 服务包含:日历信息显示,日期信息显示,推断闰年服务,文件复制功能,数字排序功能.退出功能. ...

  2. 微微信.NET:开源的ASP.NET微信公众号应用平台

    题记: 平时喜欢使用 C# 编程.近半年玩微信公众平台,看到一些微信的应用系统大多是PHP.Python的,于是就有想法做一套开放的 C# ASP.NET的微信应用系统. 微微信.NET  基于ASP ...

  3. oracle实现远程连接超简单;枚举与剪枝();PowerDesigner生成数据库代码注意里面的双引號,应该去掉

    点击開始,查看netManager,点击面板的监听程序,默认仅仅有地址1且标记着localhost.新建一个地址,输入本机IP,又一次开启监听程序就可以 △△△ * △△ = △△△△ 某3位数乘以2 ...

  4. Tokyo Tyrant(TTServer)系列(四)-tcrmgr远程管理与调试

    Tokyo Tyrant(TTServer)系列-tcrmgr(远程管理与调试) tcrmgr是TokyoTyrant的管理工具,对ttserver进行管理与执行命令: 通过输入tcrmgr回车,能够 ...

  5. HTML事件

    Media 事件

  6. sqlserver 存储过程学习笔记(二) 在项目中的应用<多表分页>

    (1)存储过程建立 USE [NewPlat] GO /****** Object:  StoredProcedure [dbo].[usp_PagingLarge]    Script Date: ...

  7. Html中隐藏a标签

    <div><a href="#"><span style="visibility:hidden">我的</span&g ...

  8. windows程序员进阶系列:《软件调试》之Win32堆的调试支持

    Win32堆的调试支持 为了帮助程序员及时发现堆中的问题,堆管理器提供了以下功能来辅助调试. 1:堆尾检查(Heap Tail Check) HTC,在堆尾添加额外的标记信息,用于检测堆块是否溢出. ...

  9. Unix文本处理工具之awk

    Unix命令行下输入的命令是文本,输出也都是文本.因此,掌握Unix文本处理工具是很重要的一种能力.awk是Unix常用的文本处理工具中的一种,它是以其发明者(Aho,Weinberger和Kerni ...

  10. 记录break和continue的区别

    我对break 和 continue 还是有点搞不清除,今天在看<Thinking in Java>,看到这个,学习了一下.       break的作用是跳出这个循环(如果这个break ...