ios 根据文字数量计算UILabel高度

一、实现代码

复制代码
    //申明时的label的高度可以随便设置,因为之后计算出高度后还需要从设置一次
    UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(10, 0, DEVICE_Width-20, 150)];
    label.text = @"《蛮荒记》的故事展开:大荒586年, 神农化羽,神帝之位悬空,引发金、木、水、火、土五族大战。神农传人拓跋野与义弟蚩尤联合对抗侵略者,双军交锋,大地却在战场中央裂开,封印太古凶魔的皮母地丘重现人间,混沌一出,天下将亡。这版概念海报一经曝光,立刻引发不少网友围观。 2015年的影视圈,掀起了网络文学改编IP的热潮:根据《盗墓笔记》、《鬼吹灯》等热门IP改编的多部电视剧、电影相继上映。2016年伊始,阿里影业也放“大招”,正式宣布《蛮荒记》这一IP也将搬上大银幕。  据《蛮荒记》项目制片人夏天尘介绍,电影《蛮荒记》将是一个类似魔兽世界“艾泽拉斯大陆”的东方上古世界观,“如果一定要做直观的类比,艾泽拉斯大陆讲巨魔、精灵、土灵、矮人、侏儒,我们讲天下诸帝、五大圣女、大荒十神、大荒十大妖女,以《山海经》为蓝本,故事情节取材并贯通华夏传说,将全新的上古世界搬上大银幕。电影的视觉审美和世界观塑造都将打破中国人传统认知,让观众感觉熟悉却又颠覆。";
  
    label.backgroundColor = [UIColor redColor];
    label.textColor = [UIColor whiteColor];
    label.textAlignment = NSTextAlignmentCenter;
    label.lineBreakMode = NSLineBreakByWordWrapping;
    label.font=[UIFont systemFontOfSize:13];
    //下面/15这里的15就是13号字体的宽度,这里是用label的宽度/15(单个字体的宽度)计算出这个label的宽度每行能放多少个汉字
    int WordCount=label.frame.size.width/15;
    //下面是使用字体的长度(就是字体的个数)/上面计算出的每行存放字体的个数,算出一共有多少行
    CGFloat heightCount= label.text.length/WordCount;
    //heightCount*15  下面我们就是通过上一步计算出的 行数*字体的高度,计算出label最终的展示高度
    [label setFrame:CGRectMake(label.frame.origin.x, 0, label.frame.size.width,heightCount*15 )];
    label.numberOfLines = 0;
     [self addSubview:label];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值