根据内容获取宽高label.numberOfLines=x不起作用?

根据内容获取宽高label.numberOfLines=x不起作用?

http://img1.sycdn.imooc.com//climg/5b1c99270001e43510010751.jpg
比如我现在等于3行,但只显示一行,怎么解决呢?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

①使用sizeWithAttributes可以获得单行文本的宽高,lable的宽度已经确定,再设置显示几行就不会起作用,想要多行显示获取宽高还需要使用其他的办法。

②下面的方法你可以试一试

    UILabel *lable = [UILabel new];
    lable.font = [UIFont systemFontOfSize:14];
    NSString *titleContent = @"";
    lable.text = titleContent;
    lable.numberOfLines = 0;
    lable.textColor = [UIColor redColor];
    CGSize titleSize = [titleContent boundingRectWithSize:CGSizeMake([UIScreen mainScreen].bounds.size.width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14]} context:nil].size;
    lable.frame = CGRectMake(0, 300, titleSize.width, titleSize.height);
    [self.view addSubview:lable];


提问者 幕布斯2332854 2018-06-13 23:56:00

[label SizeToFit]; 用这个好像更简单(-_-)

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师