有时候,在UILabel的text过长的时候,我们需要让label进行自适应大小,之前我们必须要获得这个UILabel的size,这便是根据text的内容和性质(字体,行间距等决定的)。 
 
在ios7中,使用boundingRectWithRect方法来获得CGSize:
 
 
//文字的字体
NSDictionary *attribute = @{NSFontAttributeName:[UIFont fontWithName:@"Heiti SC" size:15.0f]};//将text转化为NSMutableAttributedString类型
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:_titleLabel.text attributes:attribute];//设置行间距
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
[paragraphStyle setLineSpacing:6.0f];
[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [_titleLabel.text length])];//获得UILabel的size,其中,296和93是size的限定值
CGSize DateSize = [attributedString boundingRectWithSize:CGSizeMake(296, 93) options: NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading  context:nil].size;//如果UILabel的宽度太宽的话
if (DateSize.width > 518.0f/2)
{ _titleLabel.size = CGSizeMake(296.0f, DateSize.height);_titleLabel.textAlignment = NSTextAlignmentLeft;_titleLabel.lineBreakMode = NSLineBreakByCharWrapping;_titleLabel.numberOfLines = 0;  //不限定行数,自动换行_titleLabel.attributedText = attributedString;
}

转载于:https://www.cnblogs.com/rambot/p/3864263.html

UILabel 根据text的内容来调整大小相关推荐

  1. python中输入提示_Python-Tkinter Text输入内容在界面显示的实例

    使用Tkinter(py2.7)text文本框中输入内容在界面中显示–较为规整的代码: import Tkinter as tk class Window: def __init__(self,han ...

  2. Python读取.txt文档内容/读取text文件内容

    Python读取.txt文档内容/读取text文件内容; 读取txt后缀文件的内容的两种方式,简约易懂,复制粘贴即可食用,节约你宝贵的时间 文档全部数据一次性读取 # -*- coding: UTF- ...

  3. java设置text默认内容_Eclipse自定义内容辅助基于默认Java内容辅助结果

    我正在实施任务工具.作为其中的一部分,我正在制作一个 Eclipse插件来反映某些代码级别的问题. 在Eclipse插件中,我的目标是根据主机任务的状态将一些可视化辅助工具附加到不同的Java元素.我 ...

  4. 在text html模版中写js,Rails3使用text/html内容类型而不是text/javascript呈现js.erb模板...

    我正在使用3.0.0.beta3构建一个新的应用程序.我只是尝试将js.erb模板呈现给Ajax请求以执行以下操作(在publications_controller.rb中): def get_pub ...

  5. python requests返回值为200 但是text无内容_接口测试入门神器 - Requests

    起源 众所周知,自动化测试是软件测试爱好者毕生探索的课题.我认为,只要把 接口测试 做好,你的自动化测试就至少成功了一半. 应部分热情读者要求,今天泰斯特跟大家一起了解 python 接口测试库- R ...

  6. python requests返回值为200 但是text无内容_手把手教你使用Python生成图灵智能小伙伴,实现工作助手闲聊功能

    /1 前言/ 在家闲着,做个小项目,基于Python,实现一个语聊小机器人,分享给大家.项目整体比较简单,官方文档介绍的非常详细,可快速上手. /2 目标/ 将图灵机器人放到桌面,实现工作助手/陪聊功 ...

  7. AndEngine 动态更新Text文本内容时报ArrayIndexOutOfBoundsException错误的解决

    在游戏中,文本是必不可少的元素之一,通常创建了一个文本内容,还有可能会随时更改它,创建一个文本的方法如下(摘至Andengine源码中的TextExample.java): this.mFont = ...

  8. IE去掉input的type=”text”输入内容时出现的X和type=”password”出现的眼睛图标

    从IE 10开始,type="text" 的 input 在用户输入内容后,会自动产生一个小叉叉(X),方便用户点击清除已经输入的文本. 对于type="password ...

  9. android studio怎么输出文本,Android Studio 如何获取 text文本内容

    1.找到目录的main先建立assets格式的文件夹 2.再把需要读取的txt 文件放入到该文件夹下(名字随意),这里取 list.txt. 文件内容 格式如下 3.读取文本内容 工具代码 /** * ...

最新文章

  1. Spring工厂注入例子
  2. 动态规划之划分数组形成两个和相等的子集
  3. python精要(72)-VMDK操作(2)
  4. 二叉堆详解实现优先级队列
  5. java实现次方的运算_【技术干货】Java 面试宝典:Java 基础部分(1)
  6. tomcat之 JDK8.0安装、tomcat-8.5.15安装
  7. 雷林鹏分享:CSS Id 和 Class
  8. android tabhost 跳转,TabHost中跳转到指定Tab页问题
  9. 双非计算机考研复试怎么办,【计算机考研】985、211VS双非,复试时导师会有歧视吗?...
  10. fir.im分发平台 二维码合并
  11. office word 页码从任意页开始
  12. 图片轮播实现示例代码
  13. [bilibili] B站屏蔽“柳学家”弹幕 正则表达式
  14. mysql双活多活部署_MySQL数据库之MySQL双活部署方案
  15. 营业收费管理系统,整合多类抄表系统
  16. 发布一个JINI服务
  17. 怎样用matlab做复数运算,MATLAB面向复数运算的设计.doc
  18. 谭维维 青藏高原_如何赚更多的钱(和高原)
  19. 将 JPG 或 PNG 图像转换为 Dicom
  20. Python 函数 sort(),sorted() 之区别及 key=lambda x:x[] 之理解

热门文章

  1. linux c ftp断点续传,求个支持断点续传的ftp脚本
  2. (3)stm32开发之串口的调试
  3. 如何用dds实现线性调频_用神经网络生成线性调频
  4. 稀疏组套索_Python中的稀疏组套索
  5. 哪个银行的大额存款门槛最低?5万能买大额存单吗?
  6. 为什么有很多人认为“深圳是举全国之力发展起来的?
  7. 同样的电器,为什么官网能比实体店的价格便宜那么多?
  8. 启动之后自己关闭_电脑一开都是广告,请问怎么永久关闭?
  9. 基站位置查询系统_木牛导航网络基站服务免费了!——更便捷、更高效、更省心!...
  10. output怎么用_性能领先,即训即用,快速部署,飞桨首次揭秘服务器端推理库