簡體   English   中英

從“Nib文件”加載UIViewController

[英]Loading UIViewController “from” Nib File

我試圖從Nib文件創建一個UIViewController 在Google上我發現我只能從Nib加載UIView。

但有些人建議我可以創建一個Nib文件(UIView),其文件所有者設置為我們的ViewController

這就是我做的,我沒有崩潰,但視圖沒有顯示。

編輯:試圖像這樣推動viewcontroller

self.navigationController!.pushViewController(CoolViewController(), animated: true );

但它被推動時仍顯示黑屏

XCode 6.3 - 不使用故事板

試試這個,你可以加載一個帶有nibName:UIViewController nibName:

迅速

self.navigationController!.pushViewController(CoolViewController(nibName: "CoolViewControllerNibName", bundle: nil), animated: true )

Objective-C的

CoolViewController*coolViewCtrlObj=[[CoolViewController alloc] initWithNibName:@"CoolViewControllerNibName" bundle:nil];
[self.navigationController pushViewController:coolViewCtrlObj  animated:YES];

您需要分配ViewController ,然后通過告訴iOS nib的名稱來初始化它。

我看到你正在使用Swift; 我害怕我不知道快速,只有客觀 - c。 但是這里是如何在objective-c中完成的:

[self.navigationController pushViewController [[[CoolViewController alloc] initWithNibName: @"CoolDesign" bundle: nil] autorelease];

...“CoolDesign”是你的筆尖的基本名稱。 也就是說,你在Interface Builder中創建CoolDesign.xib,Xcode將XML - text - xib編譯成CoolDesign.nib,然后告訴initWithNibName只打開@“CoolDesign”。

僅告訴Interface Builder設計文檔是UIViewController是不夠的。 雖然原則上iOS可以弄清楚你的意思,但原則上你可以為一個UIViewController子類提供多個nib。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM