#import "ViewController.h"

 @implementation ViewController

 - (void)viewDidLoad {
[super viewDidLoad]; //根据固定的宽度计算 计算label的高度
[self sizeToLabelHeight]; //根据固定的高度 计算label的宽度
[self sizeToLabelWidth]; } /**
* 自动计算label的宽度 前提高度固定
*
*/
- (void)sizeToLabelWidth
{
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(, , , )];
label.textColor = [UIColor whiteColor];
label.font = [UIFont systemFontOfSize:];
label.numberOfLines = ; //这个属性 一定要设置为0 0表示自动换行 默认是1 不换行
label.backgroundColor = [UIColor blackColor];
label.textAlignment = NSTextAlignmentLeft;
NSString *str = @"fsdfsfnksdfjsdkhfjksdhfjdolfsdfsfnksdfjsdkhfjksdhfjsdkhfjksdhfjdojdol"; //第一种方式
// CGSize size = [str sizeWithFont:label.font constrainedToSize: CGSizeMake(MAXFLOAT,label.frame.size.height) lineBreakMode:NSLineBreakByWordWrapping]; //第二种方式 NSMutableDictionary *attrs = [NSMutableDictionary dictionary];
attrs[NSFontAttributeName] = [UIFont systemFontOfSize:]; CGSize size = [str boundingRectWithSize:CGSizeMake( MAXFLOAT,label.frame.size.height) options:NSStringDrawingUsesLineFragmentOrigin attributes:attrs context:nil].size; label.frame = CGRectMake(, , size.width, );
label.text = str; [self.view addSubview:label];
} /**
* 自动计算label的高度 前提 :宽度固定
*/
- (void)sizeToLabelHeight
{ UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(, , , )];
label.textColor = [UIColor whiteColor];
label.font = [UIFont systemFontOfSize:];
label.numberOfLines = ;//这个属性 一定要设置为0 0表示自动换行 默认是1 不换行
label.backgroundColor = [UIColor blackColor];
label.textAlignment = NSTextAlignmentLeft; NSString *str = @"fsdfsfnksdfjsdkhfjksdhfjdolfsdfsfnksdfjsdkhfjksdhfjsdkhfjksdhfjdojdol"; //第一种方式
// CGSize size = [str sizeWithFont:label.font constrainedToSize: CGSizeMake(label.frame.size.width, MAXFLOAT) lineBreakMode:NSLineBreakByWordWrapping]; //第二种方式
NSMutableDictionary *attrs = [NSMutableDictionary dictionary];
attrs[NSFontAttributeName] = [UIFont systemFontOfSize:]; CGSize size = [str boundingRectWithSize:CGSizeMake(label.frame.size.width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:attrs context:nil].size; label.frame = CGRectMake(, , , size.height);
label.text = str; [self.view addSubview:label];
} @end

最新文章

  1. linux系统下获取IP,MAC,子网掩码,网关
  2. IOS第一天
  3. eclipse 的操作
  4. Linux简单的常用命令——纯手打(慢慢积累)
  5. Redis基础知识之—— 5个必须了解的事情【★★★★★】
  6. DevExpress GridControl 部分用法
  7. ios后台下载
  8. 5、java反射基础
  9. 【C#】ASP.NET网页中添加单点登录功能
  10. Linux下判断cpu物理个数、几核
  11. [Head First Python]4. pickle.dump pickle.load
  12. OC基础17:归档
  13. poj 2250 Compromise(区间dp)
  14. Spring IOC之 使用JSR 330标准注解
  15. webpack构建本地服务器
  16. tomcat的realm域
  17. Python——Django-settings.py的内容
  18. java jvm heap dump及 thread dump分析
  19. 『TensorFlow』SSD源码学习_其一:论文及开源项目文档介绍
  20. ssh中文手册

热门文章

  1. 通过apt-get安装nvidia驱动
  2. 机器学习技法--学习笔记03--Kernel技巧
  3. DataTable 排序
  4. mediawiki的安装与配置
  5. 简单配置nginx使之支持pathinfo
  6. 出现Assertion failure in -[***** layoutSublayersOfLayer:]
  7. TokuDB调研文档
  8. css3实现进度条的模拟
  9. strcpy和memcpy的区别
  10. 在多线程环境中使用CoreData