【问题标题】:How to hide UI without leaving blank space in swift?如何隐藏 UI 而不会在 swift 中留下空白?
【发布时间】:2021-07-11 01:38:23
【问题描述】:

默认状态:

我想做什么:

我的尝试(我为每个 uielement/views 创建多个 stackview,并根据选择的单选按钮隐藏视图 a 或视图 b):

我想根据用户在 Swift 中使用 xib 选择的单选按钮显示不同的视图。 我试图在 xib 的 uistackview 中创建视图 a 和视图 b,但是当我隐藏视图 a 时,它会在标签/文本字段和按钮之间留下一个空白空间。

如何根据选定的单选按钮显示视图并隐藏一个视图而不留下额外的空白?

【问题讨论】:

  • 这很简单;您只需交换可见的 A 或 B。不幸的是,您未能显示 任何 代码,因此很难猜测您可能做错了什么。而且您的图片中没有“空白区域”,因此甚至不清楚问题是什么样的。
  • 好的@matt 我已经编辑了图片以使其更清晰
  • 哦,好的。所以你说你希望能够显示 A 或 B 或两者,但是当你只显示 A 或只显示 B 时,整个堆栈视图应该以某种方式神奇地缩小。当它们都显示时,它应该与其中一个显示时的尺寸不同。对吗?
  • 是的,这是真的,我仍然不知道如何在不留下额外空间/空白的情况下缩小堆栈视图之一。
  • 这一切都取决于堆栈视图本身的配置方式。如果堆栈视图上的约束允许它自行调整大小,则堆栈视图可以自行调整大小。它必须有“空间”来增长和缩小,它的内容必须能够明确地规定它应该如何做到这一点。所以你描述的问题很容易在抽象中解决。然而,细节至关重要。我们不知道您是如何让堆栈视图知道它应该有多大以及它的内容应该有多大。

标签: ios swift xib uistackview


【解决方案1】:

如果我正确理解了您要执行的操作,那么以基本的方式进行操作很容易。这只是对堆栈视图(无)及其排列的子视图具有正确高度约束的问题:

但是,为了完全控制,最好放弃堆栈视图并自己完全负责约束。请记住,堆栈视图并没有做任何通过在代码中进行约束而无法做到的事情。

【讨论】:

    猜你喜欢
    • 2019-03-12
    • 1970-01-01
    • 2011-05-08
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 2019-04-01
    • 1970-01-01
    • 2013-04-25
    相关资源
    最近更新 更多