sizeToFit 和 sizeThatFits的使用区别

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

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

1. sizeToFit:

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

2. sizeThatFits:

UILabel*label = [[UILabelalloc] initWithFrame:CGRectMake(10,10,0,0)];[label setBackgroundColor:[UIColorgrayColor]];[label setFont:[UIFontsystemFontOfSize:20]];label.text =@"北京欢饮您!!!";//sizeThatFits并没有改变原始label的大小CGSizesizeThatFits = [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];

你可能感兴趣的:(sizeToFit 和 sizeThatFits的使用区别)