2011-10-09 57 views
1

我目前遇到了與我的主要XIB有關的問題。主XIB沒有顯示?

我正在使用iOS 5 Beta 7,所以它不應該是一個問題。無論如何,這是我正在做它在應用程序的委託,以顯示主視圖:

.H

UIWindow *window; 
Game3ViewController *viewController; 

@property (nonatomic, retain) UIWindow *window; 
@property (nonatomic, retain) Game3ViewController *viewController; 

.M

@synthesize window = _window; 
@synthesize viewController = _viewController; 

在的applicationDidFinishLaunching方法:

//self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; 
    // Override point for customization after application launch. 
    self.viewController = [[[Game3ViewController alloc] initWithNibName:@"Game3ViewController" bundle:nil] autorelease]; 
    self.window.rootViewController = self.viewController; 
    [self.window makeKeyAndVisible]; 
    return YES; 

隨後的dealloc:

- (void)dealloc { 
    [_window release]; 
    [_viewController release]; 
    [super dealloc]; 
} 

的問題是,我不知道如果我現在應該做的事的MainWindow.xib,我是誰?我認爲這段代碼會爲我做所有事情,但當我加載應用程序時我看到的只是一個白色的窗口。我應該在MainWindow.xib中連接我的主視圖嗎?

無論如何,如果你看一下Xcode的默認模板在Xcode 7測試版的單一視圖應用程序,你會看到有甚至不是一個的MainWindow.xib,所以這就是爲什麼我很困惑。 我該如何解決這個問題?

謝謝!

回答

3

創建單個視圖應用程序時,它將創建2個.xib。一個是MainWindow.xib,另一個是ViewController.xib。 默認情況下,您不必觸摸您的應用程序委託,因爲兩個筆尖都已鏈接。

但是,如果您想通過選擇基於窗口的模板從頭開始,則必須稍後創建自己的View Controller。然後到視圖控制器添加到你需要做的,你有這個在你的applicationDidFinishLaunching方法所做的一切窗口:

// Override point for customization after application launch. 
self.viewController = [[[Game3ViewController alloc] initWithNibName:@"Game3ViewController" bundle:nil] autorelease]; 
self.window.rootViewController = self.viewController; 
[self.window makeKeyAndVisible]; 
return YES; 

我的意思是,你需要消除你在哪裏分配好自己的窗口中的第一行。 MainWindow.xib已經爲你做到了。

+0

第一部分對於iOS 5來說不是真實的。它只有一個XIB,並且是View Controller,我沒有看到任何MainWindow.XIB。編輯:我刪除了第一行,我分配的UIWindow,它仍然不顯示我的視圖控制器,但它現在在控制檯說:這應用程序啓動結束時應用程序預計有一個根視圖控制器'另我編輯我的代碼,以反映當前狀態我在 –

+0

如何消除此行self.viewController = [[[Game3ViewController alloc] initWithNibName:@「Game3ViewController」bundle:nil] autorelease]; ,然後在界面生成器中添加視圖控制器 – raixer

+0

我是否應該刪除UIWindow分配線?我也應該讓我的UIWindow和視圖控制器一個IBOutlet,然後在mainwindow.xib連接它? –