sizeToFit()使用心得

sizeToFit()使用心得:布局

不少的初学者,包括我在内,当初在学习的时候,特别纠结何时用这个sizeToFit()。 下面我就来分享一下个人一些使用心得。学习

一.咱们先来看看官方文档对sizeToFit()的声明:(Swift版本的)spa

// calls sizeThatFits: with current view bounds and changes bounds size.翻译

// 翻译:调用sizeThatFits方法:参数(与当前视图范围和变化的界限大小)。开发

   public func sizeToFit() 文档

// return ‘best‘ size to fit given size. does not actually resize view. Default is return existing view sizeit

// 翻译:返回‘最好‘的大小以适合给定大小。实际上不调整视图。默认值是返回现有的视图大小io

  public func sizeThatFits(size: CGSize) -> CGSizeclass

从官方文档中咱们能够看出,调用sizeToFit的时候,相似于系统会根据内容的帮我布局一个它认为最合适的大小。方法

另外sizeToFit()声明在UIView中,因此咱们的全部的视图控件,均可以调用这个方法

二.既然全部的控件均可以调用这个方法,可是实际的开发中,咱们好像也不常常使用它,来作一些布局什么的?

缘由:咱们通常在不方便手动布局的时候才调用sizeToFit方法,下面咱们就具体的看看哪些场合,不适合手动布局:

1.navigationBar中对navigationItem的设置,(添加两个视图以上的控件到Item)

2. toolBar中的对UIBarButtonItem的设置(通常咱们还要添加弹簧控件)

上述两种场合就能够用sizeToFit这个方法,来让系统给咱们作自动布局。(注意:若是就添加一个控件的话,咱们直接设置fram也是能够的)

3.在tabBar中咱们不能手动的添加的子控件,由于tabBar是根据控制器系统默认自动添加的tabBarItem。(猜测系统可能也会自动调用了这个方法)

4.UILabel中添加文字,而后让调整label的大小来适应文字,咱们也调用sizeToFit的方法

相关文章
相关标签/搜索