2012-12-23 113 views
5

正如我在標題中提到的那樣,我想將Navigation Controller添加到已具有Tab Controller的應用程序中。所以試圖做這個工作人員就像這個page。無論如何,有些事情是錯誤的。 UINavigationController正在尋找一個空白頁面,即使有一個視圖和一些庫。將導航控制器與標籤欄控制器結合使用

讓我從stracht開始:

在我AppDelegate,我設置標籤欄控制器是這樣的:

@interface MYAppDelegate : UIResponder <UIApplicationDelegate> 

@property (strong, nonatomic) UIWindow *window; 
@property (strong, nonatomic) UITabBarController *tabBarController; 

@end 

這裏是.m文件:

@implementation MYAppDelegate 

@synthesize window = _window; 
@synthesize tabBarController = _tabBarController; 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    application.applicationSupportsShakeToEdit = YES; 
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 

    UINavigationController *viewController1 = [[[MYMainViewController alloc] init] initWithNibName: @"MYMainViewController" bundle:nil]; 
    UIViewController *viewController2 = [[[MYPageViewController alloc] init] initWithNibName:@"MYPageViewController" bundle:nil]; 
    UIViewController *viewController3 = [[[MYSearchViewController alloc] init] initWithNibName:@"MYSearchViewController" bundle:nil]; 
    UIViewController *viewController4 = [[[MYPersonViewController alloc] init] initWithNibName:@"MYPersonViewController" bundle:nil]; 

    // Initialize tabBarController and add ViewControllers 
    self.tabBarController = [[UITabBarController alloc] init]; 
    self.tabBarController.viewControllers = [NSArray arrayWithObjects: viewController1, viewController2, 
     viewController3, viewController4, nil]; 

    self.window.rootViewController = self.tabBarController; 
    [self.window makeKeyAndVisible]; 

    return YES; 
} 

那麼,這裏是MYMainViewController implementationaion這是一個UINavigationController

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    NSLog(@"%@", [self navigationController]); // Logging null 
} 

我的.xib文件有UINavigationController,並且裏面有一個視圖。儘管如此,當我工作的應用程序,有空白頁面和無標題的導航欄。我究竟做錯了什麼?

如果我能看到我的視圖的內容,我想通過使用後退按鈕在兩個視圖控制器之間導航。

任何幫助或方法都會對我很好。

回答

4

嘗試從廈門國際銀行取出導航控制器,所以它只有視圖控制器,然後初始化編程導航控制器:

UIViewController *tmpViewController1 = [[[YourViewController alloc] init] initWithNibName:@"YourViewController" bundle:nil]; 
UINavigationController *viewController1 = [[UINavigationController alloc] initWithRootViewController:tmpViewController1]; 
+0

感謝,但仍然沒有改變。 –

+0

20天后接受,錯誤是我的。類型錯誤。無論如何謝謝你。 –

相關問題