【问题标题】:ios adding navigation before splitview controllerios在splitview控制器之前添加导航
【发布时间】:2014-08-07 00:42:39
【问题描述】:

我想在用户访问 splitview 控制器之前添加一个导航视图控制器。当我想从导航控制器转到拆分视图控制器时,我尝试了几种更改根控制器的方法,但是当我这样做时,我似乎没有以正确的方式设置委托。

没有导航视图的代码(完美运行)

AppDelegate

UISplitViewController *splitViewController = (UISplitViewController *)self.window.rootViewController;
UINavigationController *navigationController = [splitViewController.viewControllers lastObject];
splitViewController.delegate = (id)navigationController.topViewController;

UINavigationController *masterNavigationController = splitViewController.viewControllers[0];
MasterViewController *controller = (MasterViewController *)masterNavigationController.topViewController;
controller.managedObjectContext = self.managedObjectContext;

在 SplitView 之前带有导航视图的代码

AppDelegate

 self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
 UIViewController* rootController = [[UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]] instantiateViewControllerWithIdentifier:@"dummy"];
self.window.rootViewController = rootController;
[self.window makeKeyAndVisible];

虚拟视图控制器

AppDelegate *appDelegateTemp = [[UIApplication sharedApplication]delegate]; 
appDelegateTemp.window.rootViewController = [[UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]] instantiateInitialViewController];

这会将我从启动的 DummyViewController 带到作为 Storyboard 中初始视图控制器的 splitview 控制器。但是,这很好,当我这样做时,没有一个代表被调用。这可能是因为在更改根控制器时,它没有正确设置委托。我怎样才能让它以正确的方式工作?

【问题讨论】:

    标签: ipad uisplitviewcontroller


    【解决方案1】:

    似乎唯一真正非黑客的方法是在详细视图控制器中的拆分视图上显示模态视图

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
    DummyViewController *dummy = (DummyViewController *)[storyboard instantiateViewControllerWithIdentifier:@"dummy"]; 
    [self presentViewController:dummy animated:NO completion:nil];
    

    通过将动画设置为 NO,用户看不到它后面加载的拆分视图。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-08
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      相关资源
      最近更新 更多