IOS开发—IOS7.0以后UILabel高度自适应设置

IOS7.0以后UILabel高度自适应

IOS7.0以后,UILabel自适应高度的方法发生了改进,以下根据代码展示如何对一个label做自适应文本高度的操作。

 

代码示例:

    UILabel *label = [[UILabelalloc]init];
    NSString *testString = @"扭矩代表深V不VBS代表valjkalfkbvbv大家就开始大家是否还讲课费价格将开始该紧挨个接口发了个进口量是解放军司空见惯快乐到死接口、vkdfsbbjkdsbssfagagakjhkhh活佛济公三考虑公司是会计管理会计法规设计费";
    label.text = testString;
    //设置label行数,0表示不限定行数(必须写,否则只显示一行)
    label.numberOfLines = 0;
    //设置断行模式
    label.lineBreakMode = NSLineBreakByCharWrapping;
    label.backgroundColor = [UIColoryellowColor];
    //设置字体类型
    UIFont *font = [UIFontfontWithName:@"Verdana"size:14.0];
    //注意label的font还是要设置的,下面字典里用到font时用其来制定size,而不是对label设置font
    label.font = font;
    NSDictionary *dic = [NSDictionarydictionaryWithObjectsAndKeys:font,NSFontAttributeName,nil];
    //根据内容自适应size
    //传入的参数分别为:label矩形的的尺寸界线、文本绘制时的附加选项、文字属性、 文本绘制时的附加选项,包括一些信息,例如如何调整字间距以及缩放,该对象包含的信息将用于文本绘制,该参数可为nil
    CGSize stringSize = [testStringboundingRectWithSize:CGSizeMake(300,2000)
                                                 options:NSStringDrawingUsesLineFragmentOrigin
                                               attributes:dic
                                                 context:nil].size;
    label.frame = CGRectMake(10, 200, stringSize.width, stringSize.height);
    NSLog(@"%f %f",label.frame.size.width,label.frame.size.height);
   [self.viewaddSubview:label];

 

效果展示:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值