笔记:UITextView内容垂直居中方法
- (void)contentSizeToFit {//先判断一下有没有文字(没文字就没必要设置居中了)if([self.textView.text length]>0){//textView的contentSize属性CGSize contentSize = self.textView.contentSize;//textView的内边距属性 UIEdgeInsets offset;CGSize newSize = contentSize;//如果文字内容高度没有超过textView的高度if(contentSize.height <= self.textView.frame.size.height){//textView的高度减去文字高度除以2就是Y方向的偏移量,也就是textView的上内边距CGFloat offsetY = (self.textView.frame.size.height - contentSize.height)/2;offset = UIEdgeInsetsMake(offsetY, 0, 0, 0);}else //如果文字高度超出textView的高度 {newSize = self.textView.frame.size;offset = UIEdgeInsetsZero;CGFloat fontSize = 18;//通过一个while循环,设置textView的文字大小,使内容不超过整个textView的高度(这个根据需要可以自己设置)while (contentSize.height > self.textView.frame.size.height){[self.textView setFont:[UIFont fontWithName:@"Helvetica Neue" size:fontSize--]];contentSize = self.textView.contentSize;}newSize = contentSize;}//根据前面计算设置textView的ContentSize和Y方向偏移量 [self.textView setContentSize:newSize];[self.textView setContentInset:offset];} }
原理:由于textView是继承自UIScrollview,所以会有ContentSize属性。所以可以通过文字内容的高度(也就是ContentSize)的高度和textView的高度之间的差值,设置内边距,就相当于把内容居中了。
转载于:https://www.cnblogs.com/sheer-code/p/10719481.html
笔记:UITextView内容垂直居中方法相关推荐
- 小技巧--table表格td内容垂直居中方法
小技巧–table表格td内容垂直居中方法 前端页面编写时,table表格排版时最容易遇到的,就是单元格内的内容无法居中,又不能写行高时,可以使用以下方法: table td {vertical-al ...
- 前端中全部盒子靠左对齐_图文详解ul中li内容垂直居中和水平居中的方法
在页面布局时,经常会用到li标签,它可用于列表,导航,选项卡等等,那你知道如何让ul中的li居中吗?这篇文章就和大家讲讲如何让ul中的li水平居中以及如何让li内容垂直居中.感兴趣的朋友继续往下看吧. ...
- CSS3与页面布局学习笔记(三)——BFC、定位、浮动、7种垂直居中方法
一.BFC与IFC 1.1.BFC与IFC概要 BFC(Block Formatting Context)即"块级格式化上下文", IFC(Inline Formatting Co ...
- CSS总结div中的内容垂直居中的四种方法
一.行高(line-height)法 如果要垂直居中的只有一行或几个文字,那它的制作最为简单,只要让文字的行高和容器的高度相同即可,比如: p { height:30px; line-height:3 ...
- HTML总结div中的内容垂直居中的五种方法
一.行高(line-height)法 如果要垂直居中的只有一行或几个文字,那它的制作最为简单,只要让文字的行高和容器的高度相同即可,比如: p { height:30px; line-height:3 ...
- 学习使用CSS实现div中的内容垂直居中的方法
学习使用CSS实现div中的内容垂直居中的方法 一.行高(line-height)法 二.内边距(padding)法 三.模拟表格法 四.CSS3的transform来实现 五:css3的box方法实 ...
- php垂直居中代码_div中五种方法实现内容垂直居中
一.行高(line-height)法 如果要垂直居中的只有一行或几个文字,那它的制作最为简单,只要让文字的行高和容器的高度相同即可,比如: p { height:30px; line-height:3 ...
- CSS总结div中的内容垂直居中的五种方法
一.行高(line-height)法 如果要垂直居中的只有一行或几个文字,那它的制作最为简单,只要让文字的行高和容器的高度相同即可,比如: p { height:30px; line-height:3 ...
- 《Go语言圣经》学习笔记 第六章 方法
<Go语言圣经>学习笔记 第六章 方法 目录 方法声明 基于指针对象的方法 通过嵌入结构体来扩展类型 方法值和方法表达式 示例:Bit数组 封装 注:学习<Go语言圣经>笔记, ...
最新文章
- python编程入门单例_常见的在Python中实现单例模式的三种方法
- java 回调模式_总结!!!总结!!!java回调以及future模式
- abap submit 的使用方法 不同情况
- linux(CentOS)下安装mongodb
- Scrapy学习-24-集成elasticsearch
- python 输出一个 5*5的 三角形_GitHub标星3W+,80个Python案例,带你轻松玩转Python学习!...
- android 圆角按钮渐变,Android实现圆形渐变加载进度条
- 工作222:title写活
- oracle中查询某张表的大小
- Linux系统性能查询命令
- 在线生成抽象话的网页源码
- 第一步:python下PyGame的下载与安装
- HDU 6096 树套树
- 【Docker系列】 Docker secrets
- html图片加水印元素,使用HTML5 Canvas给图片加水印效果
- 安装proteus8和卸载
- 列表,元组,集合总结
- 湖北省十堰市谷歌高清卫星地图下载
- 从泊松方程到泊松融合(Poisson Matting)
- 【VBA研究】用VBA取得EXCEL有效行列数方法比较
热门文章
- LeetCode 516 最长回文子串
- java 内部类_Java内部类总结有哪些 没有基础该怎么学Java?
- dadayi大一c语言累加编程题,c++习题答案中国电力出版社
- Windows下启动Apache报错:ServerRoot must be a valid directory
- 【2021杭电多校赛】2021“MINIEYE杯”中国大学生算法设计超级联赛(3)签到题3题
- 【Codeforces	1344	A】Hilbert‘s Hotel,哈希表,set维护
- 【基础】二分算法学习笔记
- java上拉变量_「小程序JAVA实战」小程序页面的上拉下拉刷新(50)
- 多个值合并成一个字段oracle排序,Oracle之多行记录变一行记录,行变列,并排序(wmsys.wm_concat)...
- JavaScript浏览器对象模型概述(1)