美文网首页
第一个Xcode项目(4) - TableViewControl

第一个Xcode项目(4) - TableViewControl

作者: P_T | 来源:发表于2016-01-20 13:34 被阅读580次

    [相关信息:Xcode7.2 ; Swift2.0]

    之前我们已经把列表的数据显示出来,然后运行APP,横屏一下看看效果


    列表页的横屏模式

    可以看到我们的布局约束还没有做,所以接下来要把布局做起来


    为Table View添加布局约束
    为行的左边的View添加布局约束
    为行的右边的View添加布局约束
    为3个Label添加垂直居中的约束
    为Label -> 天,添加约束
    为Label -> Label,添加约束
    为Label -> 87,添加约束
    调整Label -> Label的宽度
    调整Label -> Label的行数
    调整Label -> Label自身宽度变大的优先级
    调整Label -> 87自身宽度变大的优先级

    大概的意思就是设置优先级的。

    • Hugging priority 确定view有多大的优先级阻止自己变大。
    • Compression Resistance priority确定有多大的优先级阻止自己变小。
      很抽象,其实content Hugging就是要维持当前view在它的optimal size(intrinsic content size),可以想象成给view添加了一个额外的width constraint,此constraint试图保持view的size不让其变大:
      view.width <= optimal size
      此constraint的优先级就是通过上面的方法得到和设置的,content Hugging默认为250.
      Content Compression Resistance就是要维持当前view在他的optimal size(intrinsic content size),可以想象成给view添加了一个额外的width constraint,此constraint试图保持view的size不让其变小:
      view.width >= optimal size
      此默认优先级为750.

      解释转自AutoLayout中的Content Hugging 和 Content Compression Resistance

    这样设置好之后,当我们把87改为1187时,左边的内容label的宽度会缩小,多出来的宽度就让1187变宽。

    好,我们来运行看下效果 (Command+R)


    运行APP的效果 -> 竖屏
    运行APP的效果 -> 横屏

    👋👋👋

    相关文章

      网友评论

          本文标题:第一个Xcode项目(4) - TableViewControl

          本文链接:https://www.haomeiwen.com/subject/ojnkkttx.html