找不到导航控制器来导航另一个视图控制器

Posted

技术标签:

【中文标题】找不到导航控制器来导航另一个视图控制器【英文标题】:Cant find navigation controller to navigate another view controller 【发布时间】:2015-07-06 09:42:33 【问题描述】:

我有一个自定义的UIPageViewController,其中包含 5 个UIViewControllers,现在我想从这 5 个UIViewController 之一导航,但我不能,因为在那些UIViewControllers 中没有UINavigationController。谁能建议我,我如何从这 5 个 UIViewControllers 导航到另一个 UIViewController

【问题讨论】:

您可以通过这种方式从一个控制器导航到另一个控制器:- [self presentModalViewController:temp animated:YES]; 我认为您需要遵循“theappcodeblog.com/…”教程。您需要通过Embed -> Navigation Controller 将其设置为初始视图控制器来创建导航栏。或者按照教程手动创建导航栏 使用pageviewcontroller导航,你可以推送viewcontroller 【参考方案1】:

您的代码 - [AppDelegate application:didFinishLaunchingWithOptions:] 可能看起来像这样(当然在检查您的跳过条件之后):

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *vc1 = [storyboard instantiateViewControllerWithIdentifier:@"MyAuth"]; //if you assigned this ID is storyboard
UIViewController *vc2 = [storyboard instantiateViewControllerWithIdentifier:@"Login"];  //if you assigned this ID is storyboard
UIViewController *vc3 = [storyboard instantiateViewControllerWithIdentifier:@"Details"];
NSArray *controllers = @[vc1, vc2, vc3];
UINavigationController *navController = (UINavigationController *)self.window.rootViewController;
[navController setViewControllers:controllers];

如果您将其粘贴到 - [AppDelegate application:didFinishLaunchingWithOptions:],您会发现它立即生效。

【讨论】:

以上是关于找不到导航控制器来导航另一个视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

从另一个导航控制器弹出视图控制器到另一个视图控制器

导航控制器不显示后退按钮

导航控制器不推送另一个视图

IOS应用导航栏后退按钮

Swift 以编程方式导航到另一个视图控制器/场景

在没有导航控制器的情况下导航到另一个视图控制器