本文针对Cocoa Touch,Cocoa可能略有区别
首先说为什么不用Nib,其实也没什么太令人信服理由,大概就是以下几点吧
- 代码重用比较方便
- 用Interface Builder多多少少有丢三落四的毛病
- 感觉自己写出来的代码更有存在感一些
- 没事闲的
至于性能上是否有区别我还不太清楚,查了一会儿也没什么结果,如果各位对这方面有了解还请回复一下.
进入正题,以下几步搞定MainWindow
- 删除Info.plist里面Main nib file base name这一条,或者把后面的MainWindow清空也行
- main.m里有一句
int retVal = UIApplicationMain(argc, argv, nil, nil);
改成:
int retVal = UIApplicationMain(argc, argv, nil, @"YOUR_APPDELEGATE_CLASS");
如:
int retVal = UIApplicationMain(argc, argv, nil, @"TestAppDelegate"); - XXXAppDelegate.m里面,删除原来的一些内容,添加类似如下代码,这里就不细说了,相信都能明白
– (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{_window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; //一定要initWithFrame,否则不响应触摸事件_mainTabBarController = [[MainTabBarController alloc] init];_window.rootViewController = _mainTabBarController;[_window makeKeyAndVisible];return YES;}