要创建没有 nib 的根导航控制器:
在您的 App Delegate 中,您应该会看到以下内容:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
// Add the navigation controller's view to the window and display.
self.window.rootViewController = self.navigationController;
[self.window makeKeyAndVisible];
return YES;
}
self.navigationController 指的是从 MainWindow.xib 加载的导航控制器(此文件的名称在您应用的 Info.plist 文件中指定;见下文)。
打开 MainWindow.xib 并断开 App Delegate 的 navigationController 属性,然后删除对象面板中的 Navigation Controller(不是 Window)对象。
从 App Delegate 的头文件中的 navigationController @property 声明中删除 IBOutlet 属性(因为它不再从 nib 文件中连接)。
将您的 App Delegate 中的代码替换为以下行:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
RootViewController *rootViewController = [[[RootViewController alloc] initWithNibName:nil bundle:nil] autorelease];
self.navigationController = [[[UINavigationController alloc] initWithRootViewController:rootViewController] autorelease];
self.window.rootViewController = self.navigationController;
[self.window makeKeyAndVisible];
return YES;
}
要创建没有笔尖的主窗口:
你可能不需要这样做(我也不推荐这样做),但既然你(有点)问...
删除 MainWindow.xib。
在 main.m 中,将 UIApplicationMain 的最后一个参数替换为您的 App Delegate 的名称(没有扩展名)。例如:
int retVal = UIApplicationMain(argc, argv, nil, @"TestProjectAppDelegate");
打开您的 Info.plist 文件并删除以下两行:
<key>NSMainNibFile</key>
<string>MainWindow</string>
从您的 App Delegate 头文件中的 window @property 声明中删除 IBOutlet 属性。
在您的 App Delegate 中创建窗口:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// The rest stays the same...
}