zoukankan      html  css  js  c++  java
  • iOS技术篇:sizeToFit 和 sizeThatFits 区别

    sizeToFit:会计算出最优的 size 而且会改变自己的size

    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 0, 0)];
    [label setBackgroundColor:[UIColor grayColor]];
    [label setFont:[UIFont systemFontOfSize:20]];
    label.text = @"北京欢迎您!!!";
    
    //sizeToFit:直接改变了这个label的宽和高,使它根据上面字符串的大小做合适的改变
    [label sizeToFit];
    
    NSLog(@"width=%.1f  height=%.1f ", label.frame.size.width, label.frame.size.height);
    [self.view addSubview:label];
    
    输出结果:
    width=163.5 height=24.0
    

     

     

    sizeThatFits:会计算出最优的 size 但是不会改变 自己的 size

    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 0, 0)];
    [label setBackgroundColor:[UIColor grayColor]];
    [label setFont:[UIFont systemFontOfSize:20]];
    label.text = @"北京欢迎您!!!";
    
    //sizeThatFits并没有改变原始label的大小
    CGSize sizeThatFits = [label sizeThatFits:CGSizeZero];
    NSLog(@"sizeThatFits: width=%.1f  height=%.1f", sizeThatFits.width, sizeThatFits.height);
    
    NSLog(@"width=%.1f  height=%.1f", label.frame.size.width, label.frame.size.height);
    
    [self.view addSubview:label];
    
    
    输出结果:
    sizeThatFits: width=163.5  height=24.0
    width=0.0  height=0.0 
  • 相关阅读:
    java操作Redis
    Redis安装和基本操作
    IDEA使用教程+JRebel破解
    java环境配置
    qtp10安装步骤(比较完整)
    c++第一章1.6
    软件测试第二章作业
    c++作业22题
    c++第二周阶段小测2
    oracle12c数据库第一周小测验
  • 原文地址:https://www.cnblogs.com/lovemargin/p/10533949.html
Copyright © 2011-2022 走看看