我正试图在iPad应用程序中使用UIViews做一些有点棘手的事情。以此视图结构为例:
查看1>视图2>查看3
请注意,3个视图的大小都相同,并且都显示在彼此之上。视图1是视图2的父视图,视图2是视图3的父视图。用户当前正在查看视图3,因为它位于顶部。
我想删除View 2并将View 3及其所有子视图附加到View 1上 - 而不更改当前显示。基本上,在后台摆脱View 2。我无法使用removeFromSuperview
,就像我这样做,它也会删除View 3(这是用户当前正在查看的内容)。
我意识到让所有3个观点成为额外父视图的孩子可能更有意义,这样我可以随心所欲removeFromSuperview
- 但我真的很好奇任何人都做了我上面描述的工作。
答案 0 :(得分:1)
如果我理解你想要做什么,这应该有效:
[view1 addSubview:view3];
[view2 removeFromSuperview];
视图只能有一个超级视图。如果视图已经具有超视图并且该视图不是接收者,则此方法会在使接收器成为新的超级视图之前删除先前的超视图。