2013-11-21 58 views
-1

我正在用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中創建它們。我不知道你到底需要什麼。 –

回答

0

你想基本上是創建您自己的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。 –