3

步驟:iPhone的UINavigationController內的UIViewController

  • 列表項
  • 創建一個名爲導航項目。
  • 創建一個新的UIViewController BaseViewController(用XIB1)和FirstViewController(用XIB1)。
  • NavAppDelegat.h定義baseController變量

    @interface NavAppDelegate : NSObject <UIApplicationDelegate> { 
    BaseViewController *baseController; 
    } 
    @property (nonatomic, retain) IBOutlet BaseViewController *baseController; 
    
  • NavAppDelegat.m添加baseController到窗口:

    @synthesize baseController; 
    (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  
    [self.window addSubview:baseController.view]; 
    [self.window makeKeyAndVisible]; 
    return YES; 
    } 
    
  • 打開BaseViewController.xib文件並添加UINavigationController,設置它的根視圖控制器類和XIB到FirstViewController(在檢查器中)。

  • 另外隨着UINavigationController連接navigationController變量。

我相信這應該顯示我帶有導航欄的FirstViewController。如果我直接在MainWindow.xib上執行此操作,則按照我的預期工作,但在此處我看不到導航欄。我錯過了什麼?謝謝!

更新: 所以問題是隻有在我使用UINavigationController裏面的一些額外的控制器(BaseViewController.xib這裏)而不是MainWindow.xib我沒有看到導航欄。

回答

3

如果你想你的導航控制器直接連接到你的窗口,只是從第二XIB(這應該工作),我不能告訴,或者如果你讓你的導航控制器中的另一個視圖的子視圖,其將無法工作。

UINavigationController僅用於作爲UIWindow的主要子視圖或作爲UITabController的子視圖。 Apple不希望在其他環境中嵌入導航控制器。

Combined View Controller Interfaces視圖控制器編程指南瞭解詳情英寸

+0

西莫嗨,不,在我的我的UISplitViewController的DetailedViewController意味着我不能有與接口一個UITableView,因爲我不能掛鉤的navigationController副視點一個UIViewController一個UINavigationController? 我可以在我的詳細視圖中顯示UINavigationController,但tableview本身似乎不呈現。 – fes 2011-06-12 10:18:00

相關問題