1

我是初学者 iOS 开发人员,所以不知道如何正确解决我的问题。我有一个导航控制器,并希望将模式转换到另一个导航控制器,该控制器将在其第一个视图控制器上具有后退按钮。

在我的第一个导航控制器中,我做了这个:

InfoViewController *destinatinViewController = [[InfoViewController alloc] initWithNibName:@"InfoViewController" bundle:nil];
[self presentViewController:destinatinViewController animated:YES completion:nil];

InfoViewController是 UINavigationViewController。

然后我在 InfoViewController (第二个导航控制器)中做了这个:

InfoRootViewController *rootViewController = [[InfoRootViewController alloc] initWithNibName:@"InfoRootViewController" bundle:nil];
[self pushViewController:rootViewController animated:NO];

现在我知道如何添加按钮返回,但它没有样式(当然是箭头)。据我了解,因为它只是第二个导航控制器堆栈中的一个视图。

所以,我需要你的帮助来为导航控制器的第一个视图控制器添加样式后退按钮,因为我不想制作自己的样式(我很懒)。

谢谢,任何提前!

PS:我做了模态转换,因为它有从底部或顶部的动画。我尝试为pushViewController使用自定义动画,但在 iOS 7 中它们无法正常工作。

4

1 回答 1

0

我会让其他人帮助您解决后退按钮问题,因为我认为为从屏幕底部呈现的模态视图控制器创建一个是错误的。通常,这样的模态视图控制器会使用取消按钮或其等效按钮来解除。如果你真的认为你需要一个后退按钮,那么你应该将视图控制器推送到现有的导航堆栈上,而不是模态地呈现它。

但是,我很高兴向您展示如何正确分配/初始化导航控制器,然后展示它。

我不知道你为什么要继承 UINavigationController,但我会假装你不需要(可能是这种情况)。

InfoRootViewController *rootViewController = [[InfoRootViewController alloc] initWithNibName:@"InfoRootViewController" bundle:nil];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:rootViewController];
[self presentViewController:navController animated:YES completion:nil];
于 2013-10-31T23:19:46.443 回答