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

由于留言的朋友给出了更好的方法,所以下面的代码都是它留言中给出的,优于我前面计算Lable高度方法,这个可以说非常的准,是IOS自带的计算UILABEL高度的方式.
一、实现代码
// 创建label
UILabel *label = [[UILabel alloc] init];
label.backgroundColor = [UIColor redColor];
label.numberOfLines = 0;
[self addSubview:label];

// 设置label的属性
label.font = [UIFont systemFontOfSize:14];
CGFloat labelWidth = [UIScreen mainScreen].bounds.size.width -100;

// 创建文字
NSString *string =@"《蛮荒记》的故事展开:大荒586年, 神农化羽,神帝之位悬空,引发金、木、水、火、土五族大战。神农传人拓跋野与义弟蚩尤联合对抗侵略者,双军交锋,大地却在战场中央裂开,封印太古凶魔的皮母地丘重现人间,混沌一出,天下将亡。这版概念海报一经曝光,立刻引发不少网友围观。 2015年的影视圈,掀起了网络文学改编IP的热潮:根据《盗墓笔记》、《鬼吹灯》等热门IP改编的多部电视剧、电影相继上映。2016年伊始,阿里影业也放“大招”,正式宣布《蛮荒记》这一IP也将搬上大银幕。  据《蛮 48589829380912081720374109qw89908yoiuioqewropiu21iopqiwejl;skjv;lskjfd;lskjdfl;kjsd;lfkjasl;dfja;ldfjka;sldkfasdfasdfasdf";
label.text = string;

// 设置文字属性 要和label的一致
NSDictionary *attrs = @{NSFontAttributeName : label.font};
CGSize maxSize = CGSizeMake(labelWidth, MAXFLOAT);

// 计算文字占据的高度
CGSize size = [string boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:attrs context:nil].size;

// 设置label尺寸
label.frame = CGRectMake(50, 44, size.width, size.height);



#pragma mark 获得高度

-(float)getContactHeight:(NSString*)contact
{
    NSDictionary *attrs = @{NSFontAttributeName : [UIFont systemFontOfSize:14.0]};
    CGSize maxSize = CGSizeMake(DeviceWidth - 30, MAXFLOAT);
    
    // 计算文字占据的高度
    CGSize size = [contact boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:attrs context:nil].size;
    
    
    return size.height;
    
}








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值