我有多个tableView彼此叠放,我需要以编程方式知道哪个在顶部(z轴)。
答案 0 :(得分:1)
UIView兄弟姐妹按照添加到其父视图的顺序堆叠。
您可以使用以下代码进行检查:
顶部查看:parentView.subviews.lastObject
;
在底部查看:parentView.subviews[0]
;
如果您希望某个视图出现在所有其他视图的前面:
parentView.bringSubview(toFront: view)
您可以使用视图图层的zPosition属性(它是CALayer对象)来更改视图的z-index。
theView.layer.zPosition = 1;
答案 1 :(得分:0)
视图的z顺序取决于其在视图的subviews
数组中的顺序。
给出A和B的两个同级兄弟:如果B在subviews
数组中的索引(属于其公共父级)大于A的索引,则B在顶部。不论A和B的帧是否重叠,都是如此。
NSArray响应indexOfObject:
,这使测试变得简单。