UIlabel根据文字的长度来动态设置的大小

#import <Foundation/Foundation.h>@interface SINALabelUtils : NSObject//根据文字内容来动态设置label的宽与高
//参数一 tagLabel 动态设置的label
//参数二 tagString 需要测量的文字的长度
+(UILabel *) updateLabel:(UILabel*) tagLabel andWithString:(NSString*)tagString;//根据文字内容来动态设置label的宽与高
//参数一 tagLabel 动态设置的label
//参数二 tagString 需要测量的文字的长度
//参数三 fontSize  需要设置的文字的大小
+(UILabel *) updateLabel:(UILabel*) tagLabel andWithString:(NSString*)tagString andWithTextSize:(NSInteger) fontSize;
//根据文字内容来动态设置label的宽与高
//参数一 tagLabel 动态设置的label
//参数二 tagString 需要测量的文字的长度
//参数三 tagWidth  label 可设置的最大宽度
//参数四 tagHeight label 可设置的最大高度
//参数五 fontSize  需要设置的文字的大小
+(UILabel *)updateLabel:(UILabel *)tagLabel andWithString:(NSString *)tagString andWithTagWidth:(NSInteger) tagWidth andWithTagHeight:(NSInteger) tagHeight andWithTagFontSize:(NSInteger)fontSize;
@end
#import "SINALabelUtils.h"@implementation SINALabelUtils+(UILabel *)updateLabel:(UILabel *)tagLabel andWithString:(NSString *)tagString{return [[self class] updateLabel:tagLabel andWithString:tagString andWithTagWidth:[UIScreen mainScreen].bounds.size.width andWithTagHeight:[UIScreen mainScreen].bounds.size.height andWithTagFontSize:16];
}+(UILabel *)updateLabel:(UILabel *)tagLabel andWithString:(NSString *)tagString andWithTextSize:(NSInteger)fontSize{return [[self class] updateLabel:tagLabel andWithString:tagString andWithTagWidth:[UIScreen mainScreen].bounds.size.width andWithTagHeight:[UIScreen mainScreen].bounds.size.height andWithTagFontSize:fontSize];
}+(UILabel *)updateLabel:(UILabel *)tagLabel andWithString:(NSString *)tagString andWithTagWidth:(NSInteger) tagWidth andWithTagHeight:(NSInteger) tagHeight andWithTagFontSize:(NSInteger)fontSize{NSDictionary *attributes = @{NSFontAttributeName:[UIFont systemFontOfSize:fontSize],};CGSize textSize = [tagString boundingRectWithSize:CGSizeMake(tagWidth, tagHeight) options:NSStringDrawingTruncatesLastVisibleLine attributes:attributes context:nil].size;;tagLabel.numberOfLines=0;//重置label的frame 主要是重设label的宽度与调试tagLabel.frame=CGRectMake(tagLabel.frame.origin.x, tagLabel.frame.origin.y, textSize.width, textSize.height);return tagLabel;
}@end

从0开始架构一个IOS程序——iOS 根据文字的长度来动态设置UILabel的大小相关推荐

  1. 从0开始架构一个IOS程序—— 05— NavigationBar 搭建首页面

    从0开始架构一个IOS程序 05 NavigationBar搭建首页面 Mac OSX 10.11 之后 效果 在这里的实现思路 创建 navigationItem titleView 添加ViewC ...

  2. 从0开始架构一个IOS程序 ——04— UITabBarController和自定义TabBar 搭建主页面

    从0开始架构一个IOS程序 04 UITabBarController 搭建主页面 Mac OSX 10.11 之后 效果 1 首先创建自定义TabBar 1.1 WISHomeTabBarView. ...

  3. 从0开始架构一个IOS程序——03 — -分包用添加pch全局引用文件

    从0开始架构一个IOS程序 03分包用添加pch全局引用文件 Mac OSX 10.11 之后 PCH文件简介: PCH文件是Xcode编程中全局引用共享的文件.可以在这里引入头文件或者宏定义来方便程 ...

  4. 从0开始架构一个IOS程序—— 02 — 设置启动图标与启动页面

    从0开始架构一个IOS程序 02设置启动图标与启动页面 Mac OSX 10.11 之后 1 指定应用程序所要加载的应用图标与启动加载图片 2 应用图标的相关设置 3 启动图片的相关设置

  5. 从0开始写一个小程序

    项目简介 从0开始写一个小程序,本来想写一个新闻类的程序,后来发现调用的聚合数据api每天只能访问100次,就换成豆瓣的了,直接用豆瓣的接口又访问不了,在网上查了一下,要把豆瓣的地址换成"h ...

  6. Taro小程序,底部输入框获取键盘高度动态设置bottom有延迟解决

    Taro小程序,底部输入框获取键盘高度动态设置bottom有延迟0.5s左右 业务场景: Taro+TaroUI+微信小程序 底部固定了一个输入框,当聚焦时输入框自然要上推页面才合理.但不能设置adj ...

  7. 【Java从0到架构师】Zookeeper 应用 - Java 客户端操作、服务器动态感知、分布式锁业务处理

    分布式基石 Zookeeper 框架全面剖析 Java 客户端操作 Java 客户端 API 服务器的动态感知 服务注册 服务发现 分布式锁业务处理 单机环境(一个虚拟机中) 分布式环境_同名节点 分 ...

  8. 【3.0】第一个Hibernate4程序----详解

    1.Configuration管理读取配置文件 //读取src下hibernate.properties,不推荐使用 Configuration cfg = new Configuration();/ ...

  9. 编写一个应用程序:输入长方形的长度、宽度,计算长方形的周长、面积并输出:

    import javax.swing.JOptionPane; public class Main{ public static void main(String []args){ String st ...

最新文章

  1. ML之Hierarchical clustering:利用层次聚类算法来把100张图片自动分成红绿蓝三种色调
  2. mysql查询不同老师所教不同课程_mysql学习训练记录及笔记(二)
  3. 听技术播客:一边学Python编程一边学英语
  4. 忘记番石榴:5个Google库Java开发人员应该知道的
  5. 禾匠榜店小程序商城V4独立版V4.0.25 前端+后端
  6. 图片保存到数据库和从数据库读取图片并显示(C#)
  7. PHP统计链接跳转的次数,如何在PHP页面统计某链接的点击数
  8. 求杨辉三角的前n行数据_两道简单的套公式算法题:杨辉三角
  9. word更改字距调整,让文章更具美感!
  10. tar打包忽略某个目录
  11. office2016安装mathtype7.4教程
  12. 迈信EP100伺服驱动器量产型修改bug全套C源代码和硬件
  13. 《安富莱嵌入式周报》第231期:2021.09.20--2021.09.26
  14. Voicemeeter Potato —— Windows 平台下的终极虚拟音频混音器
  15. 将百度地图下载为图片-自定义尺寸
  16. winserver2003手谈
  17. lol12.11服务器维护,LOL2018年11月13日更新维护到几点
  18. 利用wordcloud和jieba制作词云
  19. Angular4与PrimeNG
  20. 加号和字符串拼接符号

热门文章

  1. 国家游泳中心诚聘CV算法开发人员~待遇优福利厚
  2. CVPR 2019 | 亮风台发布全球最大单目标跟踪数据集LaSOT
  3. mysql查一个表3到5行的数据类型_MySQL入门(三) 数据库表的查询操作【重要】
  4. 游戏3d建模师的待遇及发展
  5. 不是程序员看不懂的21个梗,当你改错一行代码的时候...
  6. AMD宣布350亿美元收购赛灵思,CPU、GPU、FPGA全凑齐
  7. 本硕985非科班渣硕2020腾讯计算机视觉算法实习面经(已获Offer)
  8. Pandas-DataFrame基础知识点总结
  9. 长文详解基于并行计算的条件随机场CRF
  10. 导出库的版本_了解 JavaScript 模块系统基础知识,搭建自己的库