iOS堆栈视图约束问题

时间:2016-02-02 15:04:55

标签: ios swift

我正在尝试创建一个模态视图来显示一些信息。此模态视图将覆盖整个视图以防止与基础视图交互。我在自定义控件中的视图层次结构如下:

  • 自拍(100%面积)
    • 叠加窗(占地面积的100%)
      • StackView(约束到叠加中心)
        • 标题标签
        • 字幕标签
        • ......等等信息

只要堆栈视图中只有一个排列的子视图,原型代码就可以正常工作。当堆叠中存在多个排列的子视图时,显示不居中,并且叠加本身似乎定位错误。我添加了一些背景颜色来验证这种行为。视图如下所示:
enter image description here

我已在prototype gist

发布原型代码

我甚至不确定我的方式是否正确。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

现在全部设定。似乎为覆盖窗口添加高度和宽度锚点的约束不起作用,因为我希望。他们设置正确的高度和宽度,但没有定位。叠加的框架具有负面原点,导致它从左侧偏离屏幕 我不得不为前导,尾随,顶部和底部锚点添加约束以使其工作。

func addConstraintsForOverlay(){
    overlayWindow?.leadingAnchor.constraintEqualToAnchor(leadingAnchor).active = true
    overlayWindow?.trailingAnchor.constraintEqualToAnchor(trailingAnchor).active = true
    overlayWindow?.topAnchor.constraintEqualToAnchor(topAnchor).active = true
    overlayWindow?.bottomAnchor.constraintEqualToAnchor(bottomAnchor).active = true
}