按下ToolBar按钮时,将子ViewControllers添加到UIViewController并将其删除

时间:2013-11-21 19:30:27

标签: ios iphone objective-c uiviewcontroller childviewcontroller

我正在使用ScrollView实现一个UIViewController。在视图的中心,我有一个像图片中那样的工具栏:

我要添加四个UIViewControllers,一个用于toolBar的每个按钮。我不知道是否应该在开始时启动它们,然后使用NSArray的viewControllers和一个布局的NSArray使用这些方法管理所有这些:

我怎么能管理这个?在按任何按钮时更改toolBar底部的viewControllers

- (void) displayContentController: (UIViewController*) content;
{
    scrollView.contentSize =CGSizeMake(scrollView.frame.size.width, self.view.frame.size.height + content.view.frame.size.height );
    [self addChildViewController:content];
    content.view.frame = [self frameForContentController];
    [scrollView addSubview:content.view];
    [content didMoveToParentViewController:self];          
}

- (void) hideContentController: (UIViewController*) content
{
    [content willMoveToParentViewController:nil];  // 1
    [content.view removeFromSuperview];            // 2
    [content removeFromParentViewController];      // 3
}

我实际上从未使用过childViewControllers,我真的不知道如何使用它们

ToolBar View

1 个答案:

答案 0 :(得分:0)

您希望基本上创建自己的TabBarcontroller。您应该使用子视图控制器,否则自动旋转将无法按预期工作。在与tabBar交互时,应使用一组ViewControllers(需要传递数据)和委托。这是一个很好的例子。MHTabBarController

以下是它的示例界面:

@interface MHTabBarController : UIViewController

@property (nonatomic, copy) NSArray *viewControllers;
@property (nonatomic, weak) UIViewController *selectedViewController;
@property (nonatomic, assign) NSUInteger selectedIndex;
@property (nonatomic, weak) id  delegate;

- (void)setSelectedIndex:(NSUInteger)index animated:(BOOL)animated;
- (void)setSelectedViewController:(UIViewController *)viewController animated:(BOOL)animated;

@end