2010-10-25 45 views
0

我目前正在研究一個應用程序,其中我將製作一個包含不同產品的目錄。到目前爲止,我已經創建了我的啓動菜單,其中包括三個按鈕(一個用於目錄,一個用於設置,另一個用於指示)。當按下目錄按鈕時,應用程序切換到CatalogueViewController,並且該目錄應該從該ViewController中啓動。結合兩個iphone應用程序(1個ViewController,1個TabBarController)

除了啓動菜單外,我還在另一個單獨的應用程序中爲目錄編寫了應用程序。目錄應用程序使用TabBarController製作,而啓動菜單使用常規ViewControllers製作。我的下一步是組合這兩個應用程序,這樣當按下目錄按鈕時,它應該打開目錄。直到現在,當我按下目錄按鈕時,我創建了UICatalogueTableViewController的一個實例,它是UITableViewController的子類,並加載了我的CatalogueView.xib以及它。

管理哪個視圖要顯示的視圖控制器頭文件:

@class MenuViewController; 
@class UICatalogueTableViewController; 
@class SettingsViewController; 
@class InstructionsViewController; 

@interface IkeaViewController : UIViewController { 
    MenuViewController *menuViewController; 
    UICatalogueTableViewController *catalogueViewController; 
    SettingsViewController *settingsViewController; 
    InstructionsViewController *instructionsViewController; 
} 

@property (retain, nonatomic) MenuViewController *menuViewController; 
@property (retain, nonatomic) UICatalogueTableViewController *catalogueViewController; 
@property (retain, nonatomic) SettingsViewController *settingsViewController; 
@property (retain, nonatomic) InstructionsViewController *instructionsViewController; 

-(IBAction)catalogueButtonPressed:(id)sender; 
-(IBAction)settingsButtonPressed:(id)sender; 
-(IBAction)instructionsButtonPressed:(id)sender; 

@end 

按目錄按鈕時調用的方法:

- (IBAction)catalogueButtonPressed:(id)sender{ 
    if (self.catalogueViewController.view.superview == nil) { 
     if (self.catalogueViewController == nil) { 
      UICatalogueTableViewController *catalogueController = [[UICatalogueTableViewController alloc]initWithNibName:@"CatalogueView" bundle:nil]; 
      self.catalogueViewController = catalogueController; 
      [catalogueController release]; 
     } 
     [menuViewController.view removeFromSuperview]; 
     [self.view addSubview:catalogueViewController.view]; 
    } 
} 

裏面我的.xib文件(CatalogueView.xib )我創建了一個TabBarController對象,並且我的文件所有者將其類標識設置爲UICatalogueTableViewController,但我似乎無法連接這兩個,因此在運行該應用程序時顯示TabBarController。文件所有者需要一個視圖。

當按下我的啓動菜單中的設置或指令按鈕時,實例化其ViewController並加載.xib文件時沒有問題,因爲它們只包含一個要顯示的視圖。

如何從我的啓動菜單(常規ViewController)到我的目錄(TabBarController)?

在此先感謝。

回答

0

這是創建應用程序的一種非常奇怪的方式。但是,您應該能夠嚮導航控制器堆棧中的UITabBarController透露。我不明白爲什麼這是不可能的。

否則,你可以從你的其他應用程序導入你的代碼,然後當你點擊按鈕,你可以做[self presentModalViewController:myTabBarController animated:YES];,這會給出相同的功能。