• sizeThatFits and sizeToFit


    http://liuxing8807.blog.163.com/blog/static/9703530520134381526554/


    sizeThatFits and sizeToFit是UIView的两个方法, 官方文档上说: 
    - (CGSize)sizeThatFits:(CGSize)size;     
    作用:return 'best' size to fit given size. does not actually resize view. Default is return existing view size
    - (void)sizeToFit;     
    作用: calls sizeThatFits: with current view bounds and changes bounds size.
    
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        UIView *view = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 200, 100)];
        view.backgroundColor = [UIColor yellowColor];
        UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(5, 5, 0, 0)];
        [label setFont:[UIFont systemFontOfSize:20]];
        label.text = @"hello wdszgrf";
        CGSize sizeThatFits = [label sizeThatFits:CGSizeZero];
        NSLog(@"---- %f  %f ----", sizeThatFits.width, sizeThatFits.height);   
        // output:  ---- 117.000000  24.000000 ----
    
        NSLog(@"**** %f  %f ****", label.frame.size.width, label.frame.size.height);   
        // output:  **** 0.000000  0.000000 **** 说明sizeThatSize并没有改变原始label的大小
     
        [label sizeToFit];  // 这样搞就直接改变了这个label的宽和高,使它依据上面字符串的大小做合适的改变
        [label setCenter:CGPointMake(80, 50)];
        NSLog(@"==== %f %f ====", label.frame.size.width, label.frame.size.height);  	
        // output:   ==== 117.000000 24.000000 ==== 
    
        [view addSubview:label];
        [self.view addSubview:view];
    }


  • 相关阅读:
    verilog中timescale
    [shell] if语句用法
    makefile编写
    linux下压缩解压缩命令
    python获取文件所在目录
    gvim 技巧
    vcs编译verilog/sysverilog并执行
    verilog中signed的使用
    [leetcode]_String to Integer (atoi)
    [leetcode]_Minimum Depth of Binary Tree
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/7135808.html
Copyright © 2020-2023  润新知