我正在斯坦福Iphone开发课程上完成第四项任务。
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// Override point for customization after application launch
[window addSubview:[navigationController view]];
[window makeKeyAndVisible];
ListViewController *listview = [[ListViewController alloc] initWithNibName:@"ListView" bundle:[NSBundle mainBundle]];
[[self navigationController] pushViewController:listview animated:NO];
[listview release];
}
所以,我正试图让我的listview在navigationcontrollers视图中。但是发生的事情是listview在导航栏中获得一个带有“返回root控制器”按钮的新视图。当我点击它时,我回到了空的navigationcontroller视图。
我在做错了什么?答案 0 :(得分:2)
如果你想让你的ListViewController成为rootViewController,你应该像这样做
[navigationController setViewControllers:[NSArray arrayWithObject:listView] animated:YES];
而不是pushViewController
。 pushViewController只是将listView添加到控制器堆栈的顶部。初始viewController保持空视图。
答案 1 :(得分:0)
您还可以在实例化期间将ListViewController指定为导航控制器的根视图控制器:
[[UINavigationController alloc] initWithRootController:listview ]