在使用iOS 系统提供的控件时,我们可以指定其根据内容的大小自动改变尺寸为最合适的尺寸。
在XIB或者storyboard中,可以使用 “command” + “=” 键组合让控件自适应大小。
在代码书写中可以通过 sizeToFit 函数,来让控件自适应。
在自适应的过程中,有两个很重要的函数。sizeThatFits 和 sizeToFit。
- (CGSize)sizeThatFits:(CGSize)size:这个函数是根据内容返回期望的尺寸,而不会重置窗口的大小,只会返回一个计算出的适应UIView的最合适的尺寸(这个尺寸需要我们自己计算得到),默认会返回UIView的bounds区域大小。需要注意的是,这个函数需要我们在子类中覆盖自己实现,在一部分系统控件中,已经实现了这个方法,比如:UILable,UIImageView,UISwitch等控件。
sizeToFit:在子类中不应该覆盖这个函数,这个函数会将控件调整到sizeThatFits 函数返回的大小。需要注意的是,如果当一个控件没有父视图,则这个函数会将其调整到窗口大小。