从UIScrollView推送NavigationController

时间:2010-06-20 11:28:47

标签: objective-c

如何从UIScrollView将新视图推送到NavigationController的堆栈?

我试过

[self.navigationController pushViewController:myNewViewController animated:YES];

但得到“navigationController不在结构或联合”。

问候

1 个答案:

答案 0 :(得分:0)

您的应用中没有导航控制器。你需要创建一个。类似的东西:

在appDelegate中创建一个UINavigationController实例变量,然后使用现有的viewController作为导航控制器的rootViewController。

e.g。在使用UITableViewController的纯代码中(您可以使用xibs以及模板应用程序可能执行的操作)。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

  // Create root view and navigation controller
  UITableViewController *rootViewController = [[[UITableViewController alloc] initWithStyle:UITableViewStyleGrouped] autorelease];
  self.navigationController = [[[UINavigationController alloc] initWithRootViewController:rootViewController] autorelease];

  // Not necessary if you're using xibs
  self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];

  // Add the nav controller's root view to the window
  [window addSubview:navigationController.view];
  [window makeKeyAndVisible];

  return YES;
}

然后,您可以按照尝试的方式推送/弹出新视图。