ios动态获取UILabel的高度和宽度
在使用UILabel存放字符串时,经常需要获取label的长宽数据,本文列出了部分常用的计算方法。
1.获取宽度,获取字符串不折行单行显示时所需要的长度
CGSize titleSize = [aString sizeWithFont:font constrainedToSize:CGSizeMake(MAXFLOAT, 30)];
注:如果想得到宽度的话,size的width应该设为MAXFLOAT。
2.获取高度,获取字符串在指定的size内(宽度超过label的宽度则换行)所需的实际高度.
CGSize titleSize = [aString sizeWithFont:font constrainedToSize:CGSizeMake(label.frame.size.width, MAXFLOAT) lineBreakMode:UILineBreakModeWordWrap];
注:如果想得到高度的话,size的height应该设为MAXFLOAT。
3.实际编程时,有时需要计算一段文字最后一个字符的位置,并在其后添加图片或其他控件(如info图标),下面代码为计算label中最后一个字符后面一位的位置的方法。
CGSize sz = [label.text sizeWithFont:label.font constrainedToSize:CGSizeMake(MAXFLOAT, 40)];
CGSize linesSz = [label.text sizeWithFont:label.font constrainedToSize:CGSizeMake(label.frame.size.width, MAXFLOAT) lineBreakMode:UILineBreakModeWordWrap];
if(sz.width <= linesSz.width) //判断是否折行
{
lastPoint = CGPointMake(label.frame.origin.x + sz.width, label.frame.origin.y);
}
else
{
lastPoint = CGPointMake(label.frame.origin.x + (int)sz.width % (int)linesSz.width,linesSz.height - sz.height);
}
转自:http://www.cnblogs.com/spiritstudio/archive/2011/11/17/2252074.html
转载于:https://www.cnblogs.com/yuanjunliang/articles/4633107.html
ios动态获取UILabel的高度和宽度相关推荐
- 如何动态获取UILabel的高度、宽度
用于自定义cell中每行内容不同时,获取行高 //这里width固定,就是动态获取行高CGSize fitLabelSize = CGSizeMake(320, MAXFLOAT);//height固 ...
- js中动态获取页面的高度和宽度的方法总结
javascript,jquery获取网页的高度和宽度: javascript: 可视区域宽:document.documentElement.clientWidth(width+padding) 可 ...
- 动态获取UILabel的bounds
动态获取UILabel的bounds 在使用UILabel存放字符串时,经常需要获取label的长宽数据,本文列出了部分常用的计算方法. 1.获取宽度,获取字符串不折行单行显示时所需要的长度 CGS ...
- javascript中获取dom元素高度和宽度
javascript中获取dom元素高度和宽度的方法如下: 网页可见区域宽: document.body.clientWidth 网页可见区域高: document.body.clientHeight ...
- js获取div元素高度和宽度的方法
前端web页面中,js可以很方便的获取div元素的高度和宽度,那么这篇文章就说一说原生JS与JQ如何快速的获取DIV元素的高度和宽度的方法. js获取div元素高度与宽度的方法 js获取div元素的高 ...
- React结合虚拟列表VirtualList的动态获取列表项高度问题
React结合虚拟列表VirtualList的动态获取列表项高度问题: 问题场景:页面查询大量数据的时候结合VirtualList也就是虚拟列表: 例如:手机通讯录查询联系人结合虚拟列表 问题描述: ...
- iOS基础 获取状态栏的高度
由于各代iPhone对屏幕尺寸以及前置摄像头.传感器等的迭代,对于其状态栏的高度也发生了一些微小的变化,不再是如以前的20高度了. 因此在iOS13后,对于状态栏的高度,有这么一个方法可以获取. if ...
- 动态计算Gridview的高度,宽度,将GridView居中
/*** 设置GridView居中* 当父目录是RelativeLayout 需要在GridView设置 android:layout_centerHorizontal="true" ...
- ios --- 动态获取键盘高度
需要手动调用 registerForKeyboardNotifications 方法,其他两个会自动调用,弹出的键盘高 216(输入英文时候),ios 5 系统的 @implementation Vi ...
最新文章
- 2020上半年收集到的优质AI文章 – 计算机视觉
- svd奇异值分解_矩阵相乘和奇异值分解(SVD)
- 算法--------------有效的数独
- SQL 2005 收缩事务日志文件
- Windows 7备份、还原功能详解
- Spring MVC的DispatcherServlet – Java开发人员应该知道的10件事
- python一次性输入3个数_python实现输入数字的连续加减方法
- C语言数据类型转换详解
- Qt工作笔记-QML与C++交互
- 喜茶多名员工与外卖小哥互殴 喜茶官方:辞退!
- linux登录用户目录,linux命令
- 【NOIP2014】【Luogu2118】比例简化(枚举)
- 图像处理与计算机视觉经典文章
- 搜索引擎算法之同义词、近义词、上位词挖掘
- xilinx FPGA IOB约束使用以及注意事项
- HDU 4607 Park Visit HDU暑期多校1
- 谁在签收您的信用卡挂号信
- 【C语言知识梳理之分支语句】
- 高速电路设计与仿真之Model Integrity篇(IBIS模型介绍)
- 二十四、 修正单纯形法(矩阵运算角度)
热门文章
- Google公开C++编码规范
- Pixhawk代码分析-姿态解算篇C
- HDU-4777 Rabbit Kingdomom(树状数组、区间离线)
- 数据处理之判断值是否为nan(空值)记录
- pytorch 之 torch.eye()函数
- 8086标志寄存器介绍及作用(未完)
- Linux线程——线程同步
- c++11- Alias Template
- android wifi驱动_OTT盒子WiFi方案首选:博通2T2R WiFi模块
- 解决Web部署 svg/woff/woff2字体 404错误