-1

我正在使用 ScrollView 实现 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
}

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

工具栏视图

4

1 回答 1

0

您想从本质上创建自己的 TabBar 控制器。您应该使用子视图控制器,否则自动旋转将无法按预期工作。当您与 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 代表;

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

@结尾
于 2013-11-21T19:52:24.970 回答