我不认为这是可能的,但我希望有人找到了解决办法。我有一个视图,我们会调用VIEW0
,另一个调用VIEW1
。
zPositon
的{{1}}为VIEW0
,zPosition = 1;
为VIEW1
,因此低于Position = 0
。
在VIEW0
我有一些子视图,我希望其中一个子视图的VIEW1
高于zPosition
,因此VIEW0
的影子不会在特定的子视图上进行渲染,但它将在所有其他子视图上进行。
我已尝试设置子视图的VIEW0
,但似乎并未将其置于zPosition = 2
之上。
我有点期待这个,因为它们是子视图,但是有人建议在VIEW0
上面VIEW1
放置子视图吗?
答案 0 :(得分:0)
不要更改z顺序,而是将要在VIEW1上方的子视图移动到VIEW1的子视图而不是VIEW0
由于VIEW1高于VIEW0,因此VIEW0的所有子视图都将低于VIEW1的任何子视图
答案 1 :(得分:0)
我遇到了同样的问题。我通过在需要时更改子视图的父级来解决它。子视图对象保持不变,但它获得了不同的父对象。这就是全部。
[subViewObj removeFromSuperview];
和
[superViewObj addSubview:subViewObj];
然后像这样设置subViewObj
的位置:
subViewObj.frame = CGRectMake(xStart, yStart, width, height);