切换单视图控制器iOS中的多个视图控制器

时间:2015-04-20 07:39:22

标签: ios uicontainerview

我想在整个屏幕上显示静态控件(底部4个按钮和顶部的NotificationBar)。所有屏幕都应提供这些控件。

我想在这两个控件之间显示相应的页面(点击时)。 (即)通知栏和按钮之间。

那我怎么能这样做?

我不想在每个视图控制器中添加这些控件,这使得更复杂。

我了解了实现容器视图。但不知道这是否是我问题的正确解决方案。亲切地建议我解决我的问题?

布局如下:


                Notification Bar

<<<<<<<<<相应的页面显示>>>>>>>>>>>


按钮1按钮2按钮3按钮4


建议我解决这个问题?

2 个答案:

答案 0 :(得分:2)

如果您的内容视图是UIViewController的视图,那么当您执行addSubview:时,请尝试以下代码:

[controller willMoveToParentViewController:_containerViewController];
[_containerViewController.view addSubview:controller.view];
[_containerViewController addChildViewController:controller];

如果你从超级视图中删除一些视图控制器视图,你应该这样做:

[controller removeFromParentViewController];

[controller.view removeFromSuperview];

[controller willMoveToParentViewController:nil];

这样可以使你的UIViewController的外观方法被正确调用。

答案 1 :(得分:0)

以下是该方案:

  1. 将不同的标记(从0到3)添加到按钮
  2. 将您的按钮与相同的IBAction
  3. 相关联
  4. 在顶级控制器中,将每个viewController存储在一个数组
  5. IBAction方法中,请致电[_myViewControllersArray objectAtIndex:button.tag];并显示相应的视图。
  6. 用户[_containerView addSubview:controller.view];