如何在 iOS 中将堆栈视图中的第一个视图置于最前面? [复制]

Posted

技术标签:

【中文标题】如何在 iOS 中将堆栈视图中的第一个视图置于最前面? [复制]【英文标题】:How to bring the first view in stack view to front in iOS? [duplicate] 【发布时间】:2019-03-18 13:50:23 【问题描述】:

我在堆栈视图中有 2 个视图。间距值为 -15,因为我希望第二个视图位于第一个视图下方,间距为 -15。 间距还可以,但第一个视图在第二个视图下方。 我尝试设置第一个视图 zPosition,但没有成功。

firstViewlayer.zPosition = 1;

【问题讨论】:

这听起来不像是堆栈视图的好用处。 【参考方案1】:

有多种选择。

    您可以要求 stackview 将相应的视图置于前面。 stackview.bringSubviewToFront(firstView) https://developer.apple.com/documentation/uikit/uiview/1622541-bringsubviewtofront 或者您完全手动添加它们。首先添加为 subviews。 (在这种情况下是第一个视图)并将它们添加为 addArrangedSubview(在这种情况下是第一个视图)

但bringSubviewToFront 可能是最快的方式

【讨论】:

谢谢。我在 cellForRowAtIndexPath 中调用了bringSubviewToFront。它没有解决问题。 谢谢,这是处理 UIStackView 时的正确解决方案。

以上是关于如何在 iOS 中将堆栈视图中的第一个视图置于最前面? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

在水平堆栈视图(自动布局)中将文本与图像垂直居中 - iOS

如何在不改变其位置的情况下在界面生成器中将子视图置于前面

如何在设置了“等宽”的滚动视图中嵌入的堆栈视图中将标签文本设置为远离视图边缘?

iOS中的堆栈视图问题

在 SwiftUI 中将绑定传递给导航堆栈中每个视图的最佳方法是啥

堆栈视图中的自动约束冲突、Swift 2、iOS 9.3、XCode 7