zoukankan      html  css  js  c++  java
  • sizeToFit()使用心得

    sizeToFit()使用心得:

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

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

    // 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 size

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

      public func sizeThatFits(size: CGSize) -> CGSize

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

    另外sizeToFit()声明在UIView中,所以我们的所有的视图控件,都可以调用这个方法

    二.既然所有的控件都可以调用这个方法,但是实际的开发中,我们好像也不经常使用它,来做一些布局什么的?

    原因:我们一般在不方便手动布局的时候才调用sizeToFit方法,下面我们就具体的看看哪些场合,不适合手动布局:

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

    2. toolBar中的对UIBarButtonItem的设置(一般我们还要添加弹簧控件)

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

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

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

     

  • 相关阅读:
    AtCoder Regular Contest 077
    FWT模板
    hackerrank Alex对战Fedor
    hackerrank 训练军队
    hackerrank Diameter Minimization
    hackerrank Ticket
    java基础 布局管理器
    java基础 super 子类调用父类
    java基础 字符串 “==” 和 “equals” 比较
    java基础 作业(一)
  • 原文地址:https://www.cnblogs.com/LiLihongqiang/p/5553981.html
Copyright © 2011-2022 走看看