iOSの技術記事:sizeToFitとsizeThatFits違い

sizeToFit:最適なサイズを計算し、そのサイズを変更

* LABEL = UILabel [UILabel ALLOC] initWithFrame:CGRectMake(101000 )]; 
[setBackgroundColorラベル:[UIColor grayColor]; 
[のsetFontラベル:[UIFont systemFontOfSize:20である]; 
Label.text = @ 「北京はあなたを歓迎!!! ; 

// sizeToFit:直接ラベルの幅と高さを変更し、それを文字列のサイズに応じて、上記を変更する権利を行う
[ラベルsizeToFit]を; 

のNSLog(@ " 幅=%の1Fの高さ。 =%1F 、label.frame.size.width、label.frame.size.height); 
[self.viewのaddSubview:ラベル]。

 


输出结果:
width=163.5 height=24.0

 

 

sizeThatFits:最適なサイズを計算しますが、その大きさは変わりません

UILabel *ラベル= [[UILabel ALLOC] initWithFrame:CGRectMake(101000 )]。
[ラベルsetBackgroundColor:[UIColor grayColor]]; 
[ラベルのsetFont:[UIFont systemFontOfSize:20 ]]。
label.text = @ " 北京欢迎您!" 

// sizeThatFits并没有改变原始ラベル的大小 
CGSize sizeThatFits = [ラベルsizeThatFits:CGSizeZero]。
NSLog(@ "。sizeThatFits:幅=%1F高さ=%1F " 、sizeThatFits.width、sizeThatFits.height)。

NSLog(@ " 幅=%。1fの高さ=%。1F "、label.frame.size.width、label.frame.size.height)。

[self.viewのaddSubview:ラベル];

 



输出结果:
sizeThatFits: width=163.5  height=24.0
width=0.0  height=0.0 

ます。https://www.cnblogs.com/lovemargin/p/10533949.htmlで再現

おすすめ

転載: blog.csdn.net/weixin_33736048/article/details/93471002