当按下ToolBar按钮时,将子ViewControllers添加到UIViewController

问题描述:

我正在用ScrollView实现UIViewController。在视图的中心,我有一个像这样的工具栏:当按下ToolBar按钮时,将子ViewControllers添加到UIViewController

我有四个UIViewControllers要添加,每个按钮的工具栏一个。我不知道是否应该在开始时全部关闭它们,然后用NSArray的viewControllers和一个布尔值的NSArray用这种方法管理它们:

我怎么能管理这个?当按下任何按钮

- (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 
} 

在工具栏的底部变更viewControllers我从来没有使用childViewControllers其实,我真的不知道如何使用它们

ToolBar View

+0

而你的问题是什么? –

+0

我怎么能管理?在任何按钮被按下时,更改工具栏底部的viewControllers? – croigsalvador

+0

我认为这没有普遍的答案。您可以在工具栏操作上创建新的视图控制器。你也可以在任何时候创建它们(并且存储在数组中),或者在getter中创建它们。我不知道你到底需要什么。 –

你想基本上是创建您自己的TabBarcontroller。您应该使用子视图控制器,否则自动旋转将无法按预期工作。您应该使用ViewControllers数组(需要传递数据)并在与TabBar进行交互时进行委托。这是一个很好的例子。 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 
+0

但实际上,我已经有一个TabBar在底部,但我也需要在屏幕中间的工具栏来更改下面的视图控制器 – croigsalvador

+0

我们不要在这里谈论工具栏(我不知道;)),它可能会有不同的表现。 –

+0

@RoxeeMan无所谓。每个UIViewController容器都是一个UIViewController。 –