在视图中自动布局视图

Posted

技术标签:

【中文标题】在视图中自动布局视图【英文标题】:Autolayout a view within a view 【发布时间】:2016-11-03 18:25:23 【问题描述】:

我正在尝试为我的 ios 应用程序设置自动布局,但对于 iphone 6s,边框太小我尝试使用 pin 和对齐约束,但它看起来不正确。 iphone 6s plus 看起来还不错。我唯一的问题是iphone 6s。第三张图片是我现在拥有的,即容器中的视图是水平和垂直的。

【问题讨论】:

您需要指定要排除故障的约束。 我的约束是容器中的视图有水平和垂直,就是这样 我只看到一张图片。您的意思是发布 3? 这是另一个现在有故事板的图像。 Other image 您可以通过简单地使用 3 个垂直方向的UIStackViews,每个都包含一个水平方向的UIStackView(反之亦然)来最大限度地减少自动布局的数量。跨度> 【参考方案1】:

看起来您正在为单元格和单元格间距使用固定尺寸。对于此示例,使用 UICollectionView 可能有点过头了,因为您将总是有 9 个方块用于井字游戏。如果是这种情况,那么您可以执行以下操作,假设正方形是 UIButtons 并且它们包含在普通的 UIView 中:

将一个单元格的高度和宽度限制为视图高度和宽度的 1/3。您可以在情节提要中通过添加等于超级视图的高度和宽度约束来实现此目的,但乘数为 0.33。 将所有其他单元格的高度和宽度限制为等于单元格 #1。 对于边框,使用用户定义的运行时属性添加边框,如下所示:

【讨论】:

以上是关于在视图中自动布局视图的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式将自动布局添加到肋骨中添加的现有自动布局视图

自动布局视图在交互时调整大小

父视图中容器视图的自动布局未与布局指南对齐

如果在自动布局中删除子视图,则重新排列 UIView 子视图

在视图中自动布局视图

在storyBoard中禁用单个视图控制器的自动布局