如何在Swift的另一个视图前面显示视图?
以下是我在IB中组织视图的方式,顶部 – >应用程序启动时的底部。
用户可以做一些事情使“类别表视图标题”暂时扩展到“名称视图” – 但是一旦这样做,分配给“类别表视图标题”的.TouchDown操作不再适用于与“名称视图”重叠的任何位置(即,用户可以在不与名称视图重叠的任何地方点击标题,它仍然可以工作)。
我知道这可能令人困惑,所以我抽出了一些盒子。 左边是原版,右边是用户操作 – 问题出现在右侧,红色框上的操作仅在用户点击下半部而不是上半部时才有效。
我的猜测是因为视图层次结构中的标题比名称视图更低,但是我很难在不弄乱一堆约束的情况下更改它。
我也试过设置nameView.hidden = true,但这不起作用。
如果要将子视图放在前面,可以使用:
self.view.bringSubviewToFront(yourView)
SWIFT 3更新
self.view.bringSubview(toFront: yourView)
发送视图给回: –
self.view.sendSubview(toBack: yourView)
您可以使用以下方法控制子视图的顺序:来自superview的bringSubviewToFront和sendSubviewToBack。
您可以使用self.view.subview数组访问superview包含的所有子视图。
该方法自swift 3以来已更新
什么对我有用,希望对你有用:
YourView.bringSubview(toFront: yourelementA) YourView.bringSubview(toFront: yourelementB)
或者,您可以使用以下内容发送前面的对象:
YourView.sendSubview(toBack: yourelementC)
我希望这有帮助