似乎所有的Cocoa Touch模板都设置为加载一个笔尖.
如果我想启动一个将要使用视图控制器的新项目,并以编程方式加载其视图(层次结构),而不是从nib/xib加载,那么设置或调整模板的步骤是什么.
我虽然只需要实现-loadView,但每次尝试这样做时都会遇到麻烦.
完全编程的用户界面生成相当简单.首先,您需要编辑main.m以查看如下内容:
int main(int argc, char *argv[]) { NSAutoreleasePool *pool = [NSAutoreleasePool new]; UIApplicationMain(argc, argv, nil, @"MyAppDelegate"); [pool release]; return 0; }
其中MyAppDelegate是应用程序委托类的名称.这意味着将在启动时创建MyAppDelegate的实例,这通常由应用程序的主Nib文件处理.
在MyAppDelegate中,实现类似于以下的applicationDidFinishLaunching:方法:
- (void)applicationDidFinishLaunching:(UIApplication *)application { window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; if (!window) { [self release]; return; } window.backgroundColor = [UIColor whiteColor]; rootController = [[MyRootViewController alloc] init]; [window addSubview:rootController.view]; [window makeKeyAndVisible]; [window layoutSubviews]; }
其中MyRootViewController是窗口中主视图的视图控制器.这应该初始化主窗口,并将MyRootViewController管理的视图添加到它.rootController作为委托中的实例变量保留,供以后参考.
这应该允许您通过MyRootViewController以编程方式生成用户界面.