presentmodalviewcontroller navigationcontroller

时间:2009-11-26 07:27:31

标签: iphone

我正在创建一个基于导航的iPhone应用程序。

我已使用UiViewController拨打了presentModalViewController。之后,ViewController变得可见。从那个ViewController我需要使用示例presentModalViewController调用另一个ViewController。这有可能吗?

2 个答案:

答案 0 :(得分:1)

你叫“另一个uiviewcontroller”是什么意思? (如果你的问题可以更详细,那确实很有帮助。)如果你的意思是“在另一个视图控制器中滑动”,那么:

MyNewViewController *myNewViewController = [[MyNewViewController alloc] initWithNibName:@"MyNewViewController" bundle:nil];
[navigationController pushViewController:myNewViewController animated:YES];
[myNewViewController release];

...其中:

  • MyNewViewController是您要插入的新视图控制器类(上面的代码假定您有一个视图控制器类的XIB文件)。
  • navigationController指向当前导航控制器。您必须使用[self navigationController]之类的内容替换它,具体取决于您在视图层次结构中的位置。

答案 1 :(得分:0)

U可能正在使用以下行来呈现视图控制器。

//assume name of viewController which u want to present is "myViewController"
    [self.navigationController presentModalViewController:myViewController animated:YES]

如果你想推送另一个ViewController或呈现另一个ViewController,那么你将需要用以下行替换上面的行。

//[self.navigationController presentModalViewController:myViewController animated:YES];

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:myViewController];
navigationController.navigationBarHidden = YES; //if u want to show navigation bar then remove this line
[self presentModalViewController:navigationController animated:YES];

使用上述代码后,您可以在呈现的视图控制器中显示或推送其他视图控制器。

希望它能解决你的问题:)