zoukankan      html  css  js  c++  java
  • sizeThatFits and sizeToFit

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

  • 相关阅读:
    GET or POST?
    ASP.NET AJAX简述
    C# 后台调用存储过程
    S,C,SC,表
    js判定浏览器的种类
    sql 数据表添加或删除或修改字段 alter
    sql判定数据表是否存在,存在删除,再新建表或修改表名
    sql 所有的表建好后,为表添加外键约束
    打开office弹出steup error 的解决办法
    a标签的属性
  • 原文地址:https://www.cnblogs.com/zsw-1993/p/4879451.html
Copyright © 2011-2022 走看看