IOS 7 pushviewcontroller 错误

Posted

技术标签:

【中文标题】IOS 7 pushviewcontroller 错误【英文标题】:IOS 7 pushviewcontroller error 【发布时间】:2013-11-13 01:20:39 【问题描述】:

这个 ios 代码的 sn-p 用于在 IOS 7 之前工作以推送新窗口。现在没有了

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

为什么这不再起作用了?

-------编辑----- 这是 didFinishLaunchingwWthOption 中的导航控制器

 self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
 self.launchViewController = [[LaunchViewController alloc] 
          initWithNibName:@"LaunchViewController" bundle:nil];
self.window.rootViewController = self.LaunchViewController;
[self.window makeKeyAndVisible];
return YES;

-------编辑-----------

我第一次调用 [self addNewView] 时视图没有出现,控制台中没有错误或崩溃,我添加了一个按钮,如果按下按钮,我调用 [self addNewView] 视图出现,如果我导航使用返回按钮,我必须点击返回两次才能返回初始视图。所以视图正在创建但未显示。关于可能是什么问题的任何提示?

【问题讨论】:

您发布的代码没有问题,所以您的问题出在其他地方。 我已经使用这个 sn-p 多年了,没有问题,那么问题出在哪里? 检查以确保 self.navigationController 不为零。除此之外,我不明白为什么它不起作用。你到底看到了什么?什么都没有发生? 也可能是 ViewController 中的 viewDidLoad 或 viewWillAppear 中的某些代码引发了异常。推送后有没有看到日志? @San: 导航控制器为空。 【参考方案1】:

您是否尝试过指定该捆绑包?

ViewController *secondView = [[ViewController alloc]
                    initWithNibName:@"ViewController" bundle: [NSBundle mainBundle]];

【讨论】:

尝试了同样的行为。【参考方案2】:

检查一下:

UINavigationController *navi = [[UINavigationController alloc]initWithRootViewController:self.launchViewController];

self.window.rootViewContro‌​ller = navi;

【讨论】:

【参考方案3】:

有 mo navigationController.window.rootViewController 应该是一个 navigationController 作为你的逻辑。

【讨论】:

以上是关于IOS 7 pushviewcontroller 错误的主要内容,如果未能解决你的问题,请参考以下文章

iOS - pushViewController 与 presentModalViewController 的区别

iOS - pushViewController 没有滑动背景图片

在 pushViewController (iOS 11) 之后 NavigationBar 高度未更新

iOS - pushViewController 推送到 nil 视图控制器

pushViewController无法使用IOS11 SDK

使用 pushViewController 加载 TableViewController 后没有发生 Ios-Segue 到 UIViewController