iOS中UIView的sizeToFit
官方文档的解释
resize当前view,使得它找到最适合自己的大小.通常是通过view内容来确定它自己的大小.不要重写这个方法.
我们可以这样理解: 通过该方法,系统会返回给我们一个view的最适合的大小size.
常用场景
- UILabel中,先设置label view的width,然后使用sizeToFit,会根据内部文字多少,自适应返回当前label的size,其中height就是系统自动计算的.(ps:这里也可以用NSString的boundingRect方法计算文字宽高,然后设置给label)
- UIImageView, 如果该imageView中有图片,调用sizeToFit,返回的size就是内部图片的size
- UISwitch, 这个控件的默认size是固定的,调用以后返回默认的size.(ps:如果需要改变大小,使用transform属性)
- navigationItem, 如果设置它使用customView时候,最好先调用sizeToFit
UILabel中有一个关键属性adjustsFontSizeToFitWidth,可以通过label的width反向自适应设置字体的font.注意这个属性需要配合baselineAdjustment=UIBaselineAdjustmentAlignCenters一起使用.