计算NSString 的 size:

- (CGSize)sizeWithAttributes:(NSDictionary<NSString *,id> *)attrs;

Parameters:

  类型:NSDictionary

  文字的属性字典,例如 NSFontAttributeName

  也可以使用 NSAttributedString 的属性字典,因为是 NSString 对象,所以设置的是整个 string 的属性,而非 string的某一段 rangs。

Return Value:  

  类型:CGSize

  返回设置了属性的文字占用的边界框大小,即这段文字的宽度与高度。 

注意:

  返回的是带小数的 size, 当使用这个 size 去设置 view 的 frame 时, 需要使用ceil() 函数来取 size 的 某个成员(width/height)的整数值。

例:

CGSize titleSize = [tagModel.title sizeWithAttributes:@{NSFontAttributeName: [UIFont systemFontOfSize:8]}];titleLabel.frame = CGRectMake(0, 0, ceil(titleSize.width), ceil(titleSize.height));

转载于:https://www.cnblogs.com/winsoncheung/p/7248486.html

iOS 手记 - 计算文字高度/宽度:- (CGSize)sizeWithAttributes:(NSDictionaryNSString *,id *)attrs...相关推荐

  1. iOS 计算文字宽度的一个细节

    设计师给到的图,经常是 "按钮的左边距离文字右边5px" 这样子的标注.于是我们需要计算文字的宽度. 有两种方法: 用 label 或 button 的 sizetofit 方法 ...

  2. 0108--/** * 根据最大尺寸和字体计算文字的实际尺寸 */

    .h #import <UIKit/UIKit.h> @interface NSString (Extension) /** *  根据最大尺寸和字体计算文字的实际尺寸 */ - (CGS ...

  3. iOS 修改文字大小以适配lable高度宽度

    iOS 修改文字大小以适配lable高度宽度 在开发中,我们也许会遇到根据文字多少动态修改lable的高度,但也有lable高度和宽度是固定的,这个时候如果想让文字显示完全,就必须修改文字字体大小.动 ...

  4. ios 根据文字数量计算UILabel高度(已修改)

    由于留言的朋友给出了更好的方法,所以下面的代码都是它留言中给出的,优于我前面计算Lable高度方法,这个可以说非常的准,是IOS自带的计算UILABEL高度的方式. 一.实现代码 // 创建label ...

  5. iOS 动态计算文本内容的高度

    关于ios 下动态计算文本内容的高度,经过查阅和网上搜素,现在看到的有以下几种方法: 1. //  获取字符串的大小  ios6 - (CGSize)getStringRect_:(NSString* ...

  6. [性能优化]UITableView性能优化的一点感悟及计算UILabel高度的新方法

    前言  在使用过程中发现,我们App的首页在快速滑动时会出现掉帧,以及在上拉加载更多时会抖动,因为首页模块是以前的同事写的,很多代码已不适应当前的需求,所以产生了优化的想法,优化主要分为以下几个方面: ...

  7. [性能优化]UITableView性能优化的一点感悟及计算UILabel高度的新方法 1

    前言 在使用过程中发现,我们App的首页在快速滑动时会出现掉帧,以及在上拉加载更多时会抖动,因为首页模块是以前的同事写的,很多代码已不适应当前的需求,所以产生了优化的想法,优化主要分为以下几个方面: ...

  8. Flutter-如何计算文字宽高

    场景 在某些业务上,可能我们需要计算多段文字的高度,达到动态适配ListView高度的目的,满足我们产品的优(bian)秀(tai)需求.在android原生层大家都知道有各种手段可以计算文字的宽.高 ...

  9. c语言返回二叉树的大小,C语言中计算二叉树的宽度的两种方式

    C语言中计算二叉树的宽度的两种方式 二叉树作为一种很特殊的数据结构,功能上有很大的作用!今天就来看看怎么计算一个二叉树的最大的宽度吧. 采用递归方式 下面是代码内容: int GetMaxWidth( ...

最新文章

  1. Halcon_灰度直方图和特征直方图的使用
  2. 大脑对陌生音乐的反应要比对熟悉音乐的反应强度
  3. .Net Core中的日志组件(Logging)
  4. hibernate关联映射:多对一、一对一
  5. android meta工具,android ota 升级包制作分析 (5 工具)
  6. ANTLR笔记2 - 简单语法说明
  7. [转]浅谈封装中的非技术细节 - 含减肥攻略
  8. 苹果手机怎么打印wps文档_怎么用苹果手机打印文件?
  9. 数值分析实验四 最小二乘法曲线拟合
  10. matlab读取本地图片,matlab读取图片
  11. 微信指纹支付提示java6_苹果6微信指纹支付每次提示请验证已有的指纹用于支付,怎样才能支付?...
  12. PHP除数取余数,php相除取余数的实现方法
  13. 如何做好一个中小型企业计算机网络管理员
  14. 打印机设备与计算机连接类型,电脑打印机的连接方式 打印机的种类有哪些
  15. 苹果7 无线流量连接不上网络连接服务器,iPhone7连不上wifi无线网的四种解决方法...
  16. 微博的10大特征包括哪些?
  17. 函数参数*arg和参数**arg区别
  18. 如何快速搭建手游平台?
  19. 【数学】函数极限计算
  20. Windows——就近共享

热门文章

  1. 【云图】如何制作中国贪官落马图?
  2. magento 安装出错 完全解决方案
  3. cnpm安装失败及解决方案
  4. error: storage class specified for parameter问题-转
  5. opengl入门6。1
  6. html怎么只操作第一个li,css3如何选择第一个子元素?
  7. [Java] 蓝桥杯ADV-136 算法提高 大数加法
  8. [Java] 蓝桥杯BASIC-26 基础练习 报时助手
  9. 如何在Dev-Cpp中使用C++11中的函数:stoi、to_string、unordered_map、unordered_set、auto
  10. 【软件项目管理】滨江学院 李振宏 软件项目管理 试卷考点知识点整理