2012-05-05 66 views
4

我想從xib顯示模態對話框。顯示我的窗口中的代碼是:從Xib呈現模態視圖控制器

self.vcSettings = [[ViewControllerSettings alloc] initWithNibName:@"ViewControllerSettings" bundle:[NSBundle mainBundle]]; 

[self presentModalViewController:self.vcSettings animated:YES]; 

在運行此雖然,我得到了一個空白頁面,並沒有什麼是我ViewControllerSettings.xib內。我想我以某種方式錯誤地顯示了視圖。任何建議表示讚賞。

編輯:

我想這應該是

[self.navigationController presentModalViewController:self.vcSettings animated:YES]; 

但由於某種原因self.navigationController爲零。

編輯:

自我是在我的AppDelegate實例,像這樣一個UIViewController:

UIViewController* viewMain = [[ViewController_iPhone alloc]  initWithNibName:@"ViewController_iPhone" bundle:nil]; 

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
// Override point for customization after application launch. 
self.window.backgroundColor = [UIColor whiteColor]; 
self.window.rootViewController = viewMain; 
[self.window makeKeyAndVisible]; 
+0

如何將方法切換爲 [self presentViewController:self.vcSettings animated:YES completion:^ {{{「%@」,self.presentedViewController); }]; 什麼打印在控制檯上? self.presentedViewController對象是否爲零? –

+1

確保viewcontroller的'view'插座連接到其xib中的根視圖。 –

+0

@Vladim,謝謝,視圖連接在根視圖xib – dev

回答

10

你需要創建一個UINavigationController,設置它的根視圖要呈現的XIB控制器(你的情況vcSettings,然後呈現UINavigationController

self.vcSettings = [[ViewControllerSettings alloc] initWithNibName:@"ViewControllerSettings" bundle:nil]; 
UINavigationController *controller = [[UINavigationController alloc] initWithRootViewController:vcSettings]; 
[self.navigationController presentModalViewController:controller animated:YES]; 
相關問題