关于UILabel自适应宽度高度

label自适应宽度

CGSize labelSize=[label.text                     sizeWithAttributes:@{NSFontAttributeName: [UIFont    systemFontOfSize:fontOfLab]}];

label.font = [UIFont systemFontOfSize:fontOfLab];


label 自适应高度


CGSize labelSize = [self.lab.text sizeWithFont:self.lab.font constrainedToSize:size lineBreakMode:NSLineBreakByClipping];


这种方法虽然可以用  但是官网已经建议我们使用下面那种来代替了 哎  现在才发现


//自动折行设置
     label.lineBreakMode =  UILineBreakModeWordWrap ;
     label.numberOfLines = 0;
     
     //自适应高度
     CGRect txtFrame = label.frame;
     
     label.frame = CGRectMake(10, 100, 300,
                              txtFrame.size.height =[label.text boundingRectWithSize:
                                                     CGSizeMake(txtFrame.size.width, CGFLOAT_MAX)
                                                                             options: NSStringDrawingUsesLineFragmentOrigin  NSStringDrawingUsesFontLeading
                                                                          attributes:[ NSDictionary  dictionaryWithObjectsAndKeys:label.font, NSFontAttributeName nil ] context: nil ].size.height);
     label.frame = CGRectMake(10, 100, 300, txtFrame.size.height);
     
     [ self .view addSubview:label];


你可能感兴趣的:(关于UILabel自适应宽度高度)