2012-05-02 95 views
2

以我的應用程序委託,我有:爲什麼我的XIB文件中的視圖沒有被UIViewController加載?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    // Override point for customization after application launch. 
    self.viewController = [[CGMContainerViewController alloc] init]; 
    self.window.rootViewController = self.viewController; 
    self.window.backgroundColor = [UIColor whiteColor]; 
    [self.window makeKeyAndVisible]; 
    return YES; 
} 

我有一個未修飾的CGMContainerViewController.h/m和改性CGMContainerViewController.xib(添加了一個按鈕)。該視圖鏈接到文件所有者。

爲什麼從XIB的視圖不顯示?

編輯:這是因爲我試圖加載一個視圖狀態欄到窗口中?

回答

3

從代碼的外觀來看,您並未加載任何XIB文件。你需要調用initWithNibName:

self.viewController = [[CGMContainerViewController alloc] initWithNibName: 
             @"CGMContainerViewController" bundle: nil]; 
+2

這也不會做任何事情。我認爲init會嘗試加載具有相同名稱的XIB。 – fumoboy007

+0

這不是必需的,我通常更喜歡將它關閉或在viewController本身內部移動決定。注意''[[CGMContainerViewController alloc] init]'會自動加載一個名爲'CGMContainerView'的筆尖,我認爲它在語義上更正確,因爲它給出了與我認爲的相同的名稱作爲viewController –

1

確保您的檔案在廈門國際銀行所有者設置爲CGMContainerViewController

enter image description here

+0

。我會稍後檢查。 – fumoboy007

0

好。我認爲這是因爲對於UINavigationController,您必須設置rootViewController和所有圖層。我只是將其更改爲UIViewController,因爲我不需要導航,只需導航欄即可。

0

我面向的是。如果你有特殊字符命名您的viewController問題「 - 」你的廈門國際銀行將不會加載 例如一些其他的東西 - >(錯誤命名) 視圖 - 控制器1(如果命名爲像這樣然後xib將不會被加載) example --->(正確的命名) viewController1(xib將被加載)

相關問題