加载 UIViewController "from" Nib 文件
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
Swift
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 笔尖的名称来初始化它。
我看到你在使用 Swift;恐怕我不知道swift,只知道objective-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 文件创建 UIViewController
。在 Google 上,我发现我只能从 Nib 加载一个 UIView。
但有些人建议我可以创建一个 Nib 文件(UIView 的),其文件所有者设置为我们的 ViewController
。
这就是我所做的,我没有崩溃,但只是不显示视图。
编辑:
试图像这样推动 viewcontroller
self.navigationController!.pushViewController(CoolViewController(), animated: true );
但是按下去还是黑屏
XCode 6.3 - 不使用故事板
试试这个,你可以用 nibName:
UIViewController
Swift
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 笔尖的名称来初始化它。
我看到你在使用 Swift;恐怕我不知道swift,只知道objective-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
子类设置多个笔尖。