sizeToFit与sizeThatFits的使用和区别

版权声明: https://blog.csdn.net/Chowbindeblog/article/details/50778821
UILabel *testLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 50, 0, 0)];
    testLabel.backgroundColor = [UIColor whiteColor];
    testLabel.text = @"我们都有一个家啊,名字叫中国,家里攀着两条龙";
    testLabel.font = [UIFont systemFontOfSize:20];
    testLabel.textColor = [UIColor blackColor];

    [testLabel sizeThatFits:CGSizeMake(20, 20)];//会计算出最优的 size 但是不会改变 自己的 size,个人认为这个就是 label 自适应大小有用别的没什么用
    NSLog(@"testLabel sizeThatFits frame = %@", NSStringFromCGRect(testLabel.frame));
    NSLog(@"best size = %@",NSStringFromCGSize([testLabel sizeThatFits:CGSizeMake(20, 20)]));
    [testLabel sizeToFit];//会计算出最优的 size 而且会改变自己的size
    NSLog(@"testLabel sizeToFit frame = %@",NSStringFromCGRect(testLabel.frame));
    [self.view  addSubview:testLabel];
使用这两个方法之前,必须要给uilabel赋值,否则不会显示内容的。
阅读更多
换一批

没有更多推荐了,返回首页