2010-06-20 75 views
0

我在Xcode中創建了一個新的iPhone「基於視圖的應用程序」。然後我添加了一個新的「UIViewController子類」,並檢查了「用XIB的用戶界面。現在我遇到的問題是,在連接所有變量和消息處理程序後,我無法使用以下代碼將新控制器推入堆棧:iPhone:創建新的「基於視圖的應用程序」=沒有視圖控制器?

[self.navigationController pushViewController:self.cabinetController 
            animated:YES]; 

所有的變量和觀點都正確掛接,讓所有我能想到的是,它的我做的方式,通過將其推到了「navigationController」出了什麼事我是缺少在這裏?(我對iPhone和蘋果編程一般都很陌生,所以它可能是一個非常簡單的疏忽)

我意識到沒有提供足夠的信息...這裏是項目的鏈接。這是一個教育練習,有一些創造性的名字課。

http://files.me.com/nippysaurus/4yqz8t

+0

你將不得不提供更多的代碼,如果你希望我們理解您的問題... – 2010-06-20 09:49:28

+0

@邁克爾:對不起,這裏是該項目的鏈接。 http://files.me.com/nippysaurus/4yqz8t – Nippysaurus 2010-06-20 09:59:34

回答

0

在你的appDelegate中創建一個UINavigationController實例變量,然後使用你現有的viewController作爲導航控制器的rootViewController。

例如在使用UITableViewController的純代碼中(您可以使用xibs以及您的模板應用程序可能會這樣做)。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  

    // Create root view and navigation controller 
    UITableViewController *rootViewController = [[[UITableViewController alloc] initWithStyle:UITableViewStyleGrouped] autorelease]; 
    self.navigationController = [[[UINavigationController alloc] initWithRootViewController:rootViewController] autorelease]; 

    // Not necessary if you're using xibs 
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; 

    // Add the nav controller's root view to the window 
    [window addSubview:navigationController.view]; 
    [window makeKeyAndVisible]; 

    return YES; 
} 
0

您需要將您的視圖控制器更改爲導航控制器,其設置爲當前視圖控制器根視圖控制器。

0

如果你檢查你的self.navigationController,你會意識到它是nil。消息零不會傷害,所以這裏沒有錯誤信息。

添加一個UINavigationController的圖層,並將其作爲其根視圖控制器添加RandomShitViewController(nice name btw。)。

導航控制器處理推/拉部件,您的舊控制器管理其視圖。

相關問題