Ios7 在导航控制器中为第一视图控制器添加后退按钮的最佳方法是什么?

Ios7 在导航控制器中为第一视图控制器添加后退按钮的最佳方法是什么?,ios7,Ios7,我是iOS开发新手,所以不知道如何正确解决我的问题。我有一个导航控制器,想转换到另一个导航控制器,它的第一个视图控制器上有后退按钮 在我的第一个导航控制器中我做了以下操作: InfoViewController *destinatinViewController = [[InfoViewController alloc] initWithNibName:@"InfoViewController" bundle:nil]; [self presentViewController:destinati

我是iOS开发新手,所以不知道如何正确解决我的问题。我有一个导航控制器,想转换到另一个导航控制器,它的第一个视图控制器上有后退按钮

在我的第一个导航控制器中我做了以下操作:

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

然后我在InfoViewController(second navigation controller)中做了这个:

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

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

谢谢你的任何预付款


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

我会让其他人帮助您解决后退按钮问题,因为我认为为从屏幕底部显示的模式视图控制器创建动画是错误的。通常,使用“取消”按钮或其等效按钮取消此类模态视图控制器。如果您真的认为需要一个后退按钮,那么您可能应该将视图控制器推到现有的导航堆栈上,而不是以模式显示它

不过,我很高兴向您展示如何正确地分配/初始化导航控制器,然后演示它

我不知道您为什么要将UINavigationController子类化,但我将假装您不需要(可能是这样)


如果您使用的是模态视图控制器,则通常会有“完成”或“取消”按钮。如果“完成/取消”不适合您的工作流,那么您没有真正正确地使用模式行为。您应该调查并修复原始问题(不正确的动画),而不是尝试塑造模式视图控制器以适应您的工作流。
InfoRootViewController *rootViewController = [[InfoRootViewController alloc] initWithNibName:@"InfoRootViewController" bundle:nil];
[self pushViewController:rootViewController animated:NO];
InfoRootViewController *rootViewController = [[InfoRootViewController alloc] initWithNibName:@"InfoRootViewController" bundle:nil];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:rootViewController];
[self presentViewController:navController animated:YES completion:nil];