【问题标题】:How to hide view graphically while maintaining presence in stack view?如何以图形方式隐藏视图,同时保持堆栈视图中的存在?
【发布时间】:2018-01-26 08:41:31
【问题描述】:

我目前有一个堆栈视图,即horizontalfillfill equally。在内部,有 3 个具有不同颜色背景的通用视图。

我目前的问题是,当我将其中一个视图设置为hidden=true 时,其他两个视图立即展开以填补空白。我不想要这个。我想要的只是空间保持空白,目标视图在图形和 UI 输入事件中都“不可见”。

【问题讨论】:

标签: ios swift xcode autolayout


【解决方案1】:

您可以设置view.alpha = 0 使其不可见,也可以设置view.isUserInteractionEnabled=false 来禁用UI 输入事件,而不是设置isHidden=true

*正如@robmayoff 在下面指出的那样,isUserInteractionEnabled=false 实际上并不是必需的。

【讨论】:

  • 您不必更改isUserInteractionEnabled。如果视图的alpha 为0,它会自动忽略触摸事件。
  • 这也是一种解决方法(作为一种技巧)。你可以做到没有任何作弊:) 请检查:stackoverflow.com/questions/40254889/…
【解决方案2】:

正如我在您的屏幕截图中看到的,您正在使用约束。因此,当元素隐藏、折叠和其他展开时。

使用“不透明”标志使其不可见。

【讨论】:

  • 这不是opaque(在Swift中,isOpaque)属性的效果。
  • 这也是一种解决方法(作为一种技巧)。你可以做到没有任何作弊:) 请检查:stackoverflow.com/questions/40254889/…
猜你喜欢
  • 1970-01-01
  • 2018-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-13
  • 1970-01-01
相关资源
最近更新 更多