1

我对 iOS 开发比较陌生。我要从一个 viewController 移动到另一个我在按钮单击时使用模态 segue 转换。这是一个游戏,所以我想让用户单击图像来移动应用程序菜单。

我有一个显示多个图像的主页,单击一个我希望能够移动到另一个视图。目前使用模态 segue 执行此操作会导致我的 touchesEnded 事件出现奇怪的问题,例如,如果我导航到页面 3 次,则 touchesEnded 事件会被触发 3 次。

有没有更好的方法让我做到这一点,或者我只是缺少基本的东西?

谢谢

4

3 回答 3

1

是的,我认为您必须将导航控制器设为您的根视图控制器,然后相应地推送视图

UINavigationController * nav = [[UINavigationController alloc] initWithRootViewController:YOUR_BASE_CONTROLLER]
self.rootViewController = nav;

这是在您的应用程序委托中。

然后在您的操作方法中

[self.navigationController pushViewController:secondViewController animated:YES]
于 2013-01-11T06:58:23.697 回答
1

我假设您正在使用情节提要使用 segues 链接 VC。

模态转场非常适合简单的过渡,但当它们仅通过 SB 链接时,它们似乎确实限制了您可以完成的工作。我发现为 VC segue 创建包含以下内容的 IBAction 不仅可以让您更有效地控制 segue,还可以让您更清楚地了解转换期间实际发生的情况。

-(IBAction)goToVc:(id)sender{
    //Other code to take place during the segue here

    //This will identify the Storyboard in use
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard"   bundle:nil];

    //This will identify the View Controller to switch to
    SecondViewController *vc2 = [storyboard instantiateViewControllerWithIdentifier:@"SecondViewControllerID" ];

    [self presentViewController:vc2 animated:YES completion:NULL];
}
于 2013-01-11T00:59:23.683 回答
0

每次执行模态转场时,都会丢失UINavigationController之前使用的转场。您需要做的是将 a 嵌入UINavigationController到您正在执行模态搜索的视图中。

查看我前几天回答的问题,以帮助您更清楚地想象我在说什么。

于 2013-01-11T00:51:16.887 回答