首页 > 移动平台 > 详细

iOS学习 - 12. NSMutableAttributedString 计算高度

时间:2016-05-02 14:17:27      阅读:261      评论:0      收藏:0      [点我收藏+]

计算 NSMutableAttributedString 高度,必须要有两个属性

-(void)test{
    UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(50, 50, 300, 300)];
    label.backgroundColor = [UIColor redColor];
    //可分行
    label.numberOfLines = 0;
    NSString *str = @"修改数据很明显是属于 model 层的任务。Model 应该为诸如删除或重新排序等操作暴露一个 API,然后我们可以在 data source 方法中调用它。这样,controller 就可以扮演 view 和 model 之间的协调者,而不需要知道 model 层的实现细节。并且还有额外的好处,model 的逻辑也变得更容易测试,因为它不再和 view controllers 的任务混杂在一起了";
 
    //属性可变的 string
    NSMutableAttributedString *str1 = [[NSMutableAttributedString alloc]initWithString:str];
    //可变的范围
    NSRange range = {0,[str1 length]};
    //范围内的字加下划线
    [str1 addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:range];
    [str1 addAttribute:NSFontAttributeName value:label.font range:range];
    //范围内的字体颜色为绿色
    [str1 addAttribute:NSForegroundColorAttributeName value:[UIColor greenColor] range:NSMakeRange(0, 20)];
    //计算 string 的高度
    CGSize attSize = [str1 boundingRectWithSize:CGSizeMake(300, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading context:nil].size;
    label.attributedText = str1;
    label.frame = CGRectMake(50, 50, attSize.width, attSize.height);
    [self.view addSubview:label];
}

 

iOS学习 - 12. NSMutableAttributedString 计算高度

原文:http://www.cnblogs.com/asamu/p/5452229.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!