【问题标题】:Swift UIView disappearing from Stack ViewSwift UIView 从堆栈视图中消失
【发布时间】:2017-05-28 20:16:40
【问题描述】:

我在垂直堆栈视图中有一个标签、一个图像视图和一个按钮。对齐设置为填充,分布设置为等间距,偏移量为 10。在我的故事板上,标签显示在顶部,图像在中心,按钮在底部。

但是,当在模拟器或设备上运行时,UIView 会完全从视图中剥离,因此标签出现在屏幕顶部,而按钮则显示在标签的正下方。

我唯一的约束是在堆栈视图上设置到父视图

编辑:忘了说 UIImageView 在 UIView 内

【问题讨论】:

  • 图像视图是否包含图像?如果它是空的,它可能被分配零维度。
  • 图像视图与其包含的UIView之间是否有任何限制?
  • 两者之间没有限制,因为我忽略了它,但是我现在已经将 imagview 固定到 uiview 上,它仍然没有出现。图像是空的,但在点击播放按钮时设置。 UIView 本身也不显示(我使用它是为了在 UIImage 动画时在 UIImage 周围显示静态边框)
  • 必须在 UIView 上设置大小限制

标签: ios uistackview


【解决方案1】:

我遇到了类似的问题。我的 UIStackView 中的 UIView 只有一个 Width 约束,并且会在运行时消失。我发现我可以使用以下任一选项让它再次出现:

  • 添加高度约束
  • 添加顶部和底部约束

【讨论】:

  • 我有一个直到运行时才设置的图像视图。它总是会消失...另一方面,在编译时设置图像会正确显示图像。
  • 顺便说一句,只有高度或顶部/底部约束并不能解决我的问题。在我的情况下,我还必须使用宽度约束
  • 只需添加高度限制
【解决方案2】:

我在stackview 中的tableview 遇到了同样的问题。向视图添加了高度约束,现在一切正常

【讨论】:

    【解决方案3】:

    在 UIView 边框上设置 Y 约束会导致它在点击播放按钮时出现,但它会超出屏幕边界。

    我必须在 UIView 上设置大小限制才能正确显示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多