2

我目前正在执行一个方法,当我到达当前正在执行的方法的末尾时CurrentViewController,我想移动到我的(这是我想要移动到的 ViewController 的实际名称)FirstViewController

当前视图控制器.m

-(void)methodExecutingOnCurrentViewController
{
    //some code..

    // what method do I call in order to load and move to my FirstViewController at this point?

    // do I first initialize an instance of the ViewController I want to move to?
    UIViewController *firstViewController = [[FirstViewController alloc] init];


    // but now how do I actually move to this instance I've just created? 
    // I couldn't find the appropriate method in the class reference documentation

}
4

4 回答 4

1

看看- (void)presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animatedDoc

还有许多其他方法可以完成您正在寻找的事情,您是否使用导航控制器?然后- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated就是你想要的。您也可以将该控制器的视图作为子视图添加到您当前的 viewController。

于 2012-09-04T23:42:57.760 回答
1

如果您使用的是 UINavigationController(如果不是,则应该这样做),您可以这样做:

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

这会将视图控制器推送到导航堆栈上。

您还可以模态显示视图控制器。你应该在这里阅读并决定什么是最适合你的。

于 2012-09-04T23:43:21.253 回答
1

将您的项目基于导航控制器并简单地推送

SecondViewController *secondVC = [[SecondViewController alloc] init];

     [self.navigationController secondVC animated:YES];
于 2012-09-04T23:45:08.770 回答
0

如果你不使用 UINavigationController,你可以通过这种方式移动到其他 UIViewcontroller:

NewViewController *newVC = [[NewViewController alloc] init];
[self dismissViewControllerAnimated:YES completion:^{[self presentViewController:newVC animated:YES completion:^{}];}];
于 2014-11-17T07:47:00.087 回答