0

我正在尝试在 iPad 应用程序中使用 UIViews 做一些有点棘手的事情。以这个视图结构为例:

视图 1 > 视图 2 > 视图 3

请注意,这 3 个视图的大小都相同,并且都显示在彼此的顶部。视图 1 是视图 2 的父视图,视图 2 是视图 3 的父视图。用户当前看到的是视图 3,因为它在顶部。

我想删除视图 2 并将视图 3 及其所有子视图附加到视图 1 上——而不改变当前显示。基本上,在后台摆脱 View 2。我不能removeFromSuperview像这样做一样使用,它还会删除 View 3(这是用户当前正在查看的内容)。

我意识到让所有 3 个视图成为附加父视图的子视图可能更有意义,这样我就可以removeFromSuperview随心所欲 - 但是我真的很好奇是否有人做了我上面描述的事情工作。

4

1 回答 1

1

如果我正确理解您要执行的操作,则应该可以:

[view1 addSubview:view3];
[view2 removeFromSuperview];

UIView类参考

视图只能有一个超级视图。如果视图已经有一个超级视图并且该视图不是接收者,则此方法会在使接收者成为其新的超级视图之前删除先前的超级视图。

于 2012-10-01T08:07:57.947 回答