我正在尝试以编程方式创建一个视图控制器。我想知道何时应该使用NIB文件创建视图控制器,何时应该以编程方式创建它。
我还想逐步说明创建没有NIB文件的视图控制器。
答案 0 :(得分:3)
随时随地使用IB。在其余情况下使用代码。
以下是如何在创建AppDelegate时摆脱IB。
int retVal = UIApplicationMain(argc, argv, nil, nil);
更改为int retVal = UIApplicationMain(argc, argv, nil, @"MyCoolApplicationAppDelegate");
,其中“MyCoolApplication”是您应用的名称。在applicationDidFinishLaunching:application
中添加以下代码中的“MyCoolApplicationAppDelegate”:
window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
要创建不带笔尖的视图控制器,请执行以下操作:
MyCoolViewController *myCoolViewController = [[MyCoolViewController alloc] init];
在MyCoolViewController的加载视图中,您可以添加初始化相应的视图并通过以下方式将其附加到视图控制器:
[self setView: MyCoolView];
答案 1 :(得分:1)
请参阅View Controller Programming Guide for iOS: Understanding the View Management Cycle。
这应该告诉你调用方法的时间和原因以及调用顺序。
答案 2 :(得分:1)
就个人而言,我喜欢将IB用于主要包含静态视图的ViewControllers。当ViewController有很多我需要动态创建的视图或动画时,我更喜欢用代码创建ViewController。