zoukankan      html  css  js  c++  java
  • iOS 学习

    计算 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];
    }

     转载注明出处:http://www.cnblogs.com/asamu/p/5452229.html

  • 相关阅读:
    机器视觉行业分析
    lua sample code analysis
    My GPU info from "GPU Caps Viewer"
    网页hack程序编写
    debug redmine send email
    如何下载web资源
    看国内网络电视解决方案2
    看国内网络电视解决方案
    babel-polyfill使用与性能优化
    升级NGINX支持HTTP/2服务端推送
  • 原文地址:https://www.cnblogs.com/asamu/p/5452229.html
Copyright © 2011-2022 走看看