【问题标题】:Adding padding to a UIView using AutoLayout constraints使用 AutoLayout 约束向 UIView 添加填充
【发布时间】:2015-01-14 09:41:15
【问题描述】:

想象一个简单的 UIView,比如下面的蓝色全宽容器。它包含一个红色框和一个黄色框。

红色和黄色框从容器中插入 10 像素(我知道它在图像中看起来不像。请原谅我的垃圾艺术品)。我可以通过在黄色框上设置与 UIView(蓝色)相关的左侧约束来实现这一点,常量为 10.0。

但是这是正确的吗?我应该使用 LayoutMargins 属性还是 XXXXMargin 布局属性?我见过的许多例子都是从左侧或右侧简单偏移

【问题讨论】:

  • 您是否使用过可视格式语言,您可以在其中指定像 @"H:|-10-[yellow(==20)]-(>=1)-[red(== 20)]-10-|" ..如果您想了解如何使用 VFL 以编程方式执行此操作,那么我可以为您粘贴。
  • 实际上 .. 我只是阅读了您的填充规范,而不是偏移本身 :)

标签: ios uiview autolayout


【解决方案1】:

相对于边距的布局是 iOS 8 独有的功能,您看到的将约束设置为简单偏移的示例可能是 iOS 8 之前的版本。如果您只针对 iOS 8,那么一定要使用边距。为此,请将蓝色容器的layoutMargins 属性设置为UIEdgeInsetsMake(0, 10, 0, 10) 以将左右边缘填充10,或设置NSLayoutAttributeLeftMarginNSLayoutAttributeRightMargin 属性,然后将黄色和红色框限制为那些边距。详情请见this writeup

【讨论】:

    猜你喜欢
    • 2015-04-02
    • 2013-01-29
    • 1970-01-01
    • 1970-01-01
    • 2017-08-25
    • 1970-01-01
    • 2020-10-21
    • 1970-01-01
    相关资源
    最近更新 更多