子视图的导航控制器行为?

时间:2012-01-06 22:08:08

标签: iphone ios ipad

之前我使用过导航控制器来允许推送/弹出视图。但是,在我希望推送/弹出整个视图的情况下使用了它。

我现在有这样的情况:

+--------------------------------------+
|                                      |
| +---------------------------------+  |
| |                                 |  |
| |            Sub View             |  |
| |                                 |  |
| +---------------------------------+  |
|                                      |
|              Main View               |
|                                      |
+--------------------------------------+

我希望子视图由导航控制器管理,这样我可以将视图推送/弹出视图,同时保持主视图相同。

这可能吗?如果是这样,您能否就如何在我的项目中进行设置提供指导?

2 个答案:

答案 0 :(得分:2)

听起来您需要将主视图控制器作为容器视图控制器。在UIViewController类参考中有一些相关文档,但我建议观看WWDC 2011中的实现UIViewController Containment 视频。

https://developer.apple.com/videos/wwdc/2011/

答案 1 :(得分:1)

对于这种情况,您似乎可以使用子视图并将其添加到主视图中。完成后从主视图中删除它。假设您在UIViewController类中,您可以执行以下操作:

UIView *subView = [UIView alloc] initWithFrame: blah];
// subView settings

[self.view addSubView: subview];
[subView release]; subView = nil;

完成所有操作后,只需从superView中删除subView即可。如果需要,您还可以使用subView的tag属性来跟踪特定的子视图。