【问题标题】:pushViewController not working in iOS 5 but working fine in iOS6pushViewController 在 iOS 5 中不工作,但在 iOS6 中工作正常
【发布时间】:2025-12-11 13:00:02
【问题描述】:

我有一个推送新视图控制器的导航控制器。它在 iOS6 中运行良好,但在 iOS5 中运行不正常。顺便说一句,我在 iPhone 模拟器上运行。

我的代码如下所示:

myViewController *newView = [[myViewController alloc] initWithNibName:@"myViewController"
                                                                          bundle:nil];
[[self navigationController] pushViewController:newView animated:YES];

也试过了:

myViewController *newView = [[myViewController alloc] initWithNibName:@"myViewController"
                                                                          bundle:[NSBundle mainBundle]];
[[self navigationController] pushViewController:newView animated:YES];

不工作。

尝试了以下解决方案:pushViewController Not Working on iOS 5 (OK on iOS 6)

也没有显示新的视图控制器,需要一些指导。谢谢。

【问题讨论】:

  • 在 iOS 5 上检查您的 navigationController 是否不为零。
  • 它不是零。刚刚检查...
  • 在 iOS5 中不能正常工作是什么意思?是不是崩溃了??
  • 没有崩溃..只是不去新的视图控制器......
  • 只要看看这个答案 *.com/a/13716359/1443976

标签: ios ios5 ios6 uinavigationcontroller


【解决方案1】:

你可以试试这行来测试你的 nib 文件是否有问题。

 myViewController *newView = [[myViewController alloc] init];
[[self navigationController] pushViewController:newView animated:YES];

- (void)viewDidLoadself.view.backgroundColor = [UIColor redColor];

只是为了测试您的视图控制器是否正在推送。 如果您能够使用此方法推送您的视图控制器。那么您的 nib 文件可能存在一些问题。

【讨论】:

  • 根本无法推送视图控制器……甚至无法进入下一个视图控制器……
【解决方案2】:

您使用情节提要还是 xib?如果您使用故事板,这可以帮助您initwithnibname method in storyboard

【讨论】:

    【解决方案3】:

    我有类似的问题。通过删除要推送的视图中的“自动布局”约束来解决它。!

    【讨论】: