UIView的iOS Z顺序

时间:2016-02-10 10:13:15

标签: ios objective-c uiview calayer quartz-2d

如何获得关键窗口UIView的Z顺序?

我不感兴趣的是层次深度。我不关心关键窗口有多少个超视图。

只是想知道哪些观点出现了?#34;更接近"给用户。

我尝试了各种可能性,例如

hittesting
view.layer.depth
post-order DFS (Or some sort of variation)

但是这个答案是关于它的周围环境"而不是实际的#34;绘画顺序"屏幕上的视图。

这可能以合理的方式实现吗?

2 个答案:

答案 0 :(得分:0)

UIView兄弟姐妹按其添加到超级视图的顺序堆叠。

您可以使用以下代码进行检查:

在顶部查看: [parentView.subviews lastObject];

在底部查看: [parentView.subviews objectAtIndex:0];

如果您希望视图显示在所有其他视图的前面:

[parentView bringSubviewToFront:view]

答案 1 :(得分:0)

视图在子视图数组中出现的顺序决定了它们的Z顺序。如果使用addSubView()在View B之前添加View A,则View B将位于View A。

之上