试图围绕如何构建不同的项目类型,我必须遗漏一些东西。
我正在尝试从基于窗口的应用程序开始,只需添加一个导航控制器,这样我就能理解不同的组件如何与Window和App委托一起工作。
这就是我的所作所为:
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;
在我的app delegate.m中,我添加了:
@synthesize navigationController;
(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
self.window.rootViewController = self.navigationController;
[self.window makeKeyAndVisible];
return YES;
}
构建干净,当我启动时,我得到一个全白屏幕。
我错过了什么?
答案 0 :(得分:1)
添加此[self.window addSubview:self.navigationController.view];
您需要将导航控制器视图添加到窗口中。还要确保已连接导航控制器的插座。您还需要为导航控制器添加根视图控制器
答案 1 :(得分:1)
实际上是barfoon ..你的导航控制器不包含任何UIViewController
。首先创建新的UIViewController
,然后将其添加到UINavigationController
。 UINavigationController
就像堆栈一样,它处理每个添加的UIViewController,即来回移动。
实施例..
ToDoController *toDoObj = [[ToDoController alloc] initWithNibName:@"ToDoController" bundle:[NSBundle mainBundle]];
UINavigationController *toDoNav = [[UINavigationController alloc] initWithRootViewController:toDoObj];
[self.window addSubview:toDoNav.view];
答案 2 :(得分:1)
想出来 - 我必须创建一个新的Referencing插座,并将导航控制器连接到.xib中的App Delegate。