【问题标题】:UISplitViewController created programmatically doesn't have swipe gesture to show/hide master以编程方式创建的 UISplitViewController 没有滑动手势来显示/隐藏主控
【发布时间】:2014-10-08 15:04:38
【问题描述】:

我在一个非常奇怪的案例中挣扎:我创建了一个UISplitViewController

self.splitViewController = [[UISplitViewController alloc] init];
self.splitViewController.presentsWithGesture = YES;

UIViewController * master = [[UIViewController alloc] init];
master.view.backgroundColor = [UIColor yellowColor];
UINavigationController * navMaster = [[UINavigationController alloc] initWithRootViewController:master];

UIViewController * detail = [[UIViewController alloc] init];
detail.view.backgroundColor = [UIColor redColor];
UINavigationController * navDetail = [[UINavigationController alloc] initWithRootViewController:detail];

self.splitViewController.viewControllers = @[navMaster,navDetail];

self.window.rootViewController = self.splitViewController;
[self.window makeKeyAndVisible];

但用于打开/显示主视图控制器的滑动手势(如在邮件应用程序中)在 iOS7 中不起作用,但在 iOS8 中起作用。如果我从 Master/Detail 模板创建一个新项目,则手势有效。但是我需要以编程方式创建UISplitViewController,因为我必须在作为普通视图控制器的登录页面之后添加。我不想使用故事板,因为在这个应用程序中会太大。

【问题讨论】:

    标签: ios objective-c ipad


    【解决方案1】:

    我遇到了同样的问题,发现了如何使它工作的这个很棒的教程:New UISPlitViewController and iOS7

    有了这个,您还可以使用大小类并仅使用 1 个故事板来支持 iPhone,并利用 iPhone 6+ 横向拆分视图功能。

    注意:如果你想使用 Size Classes 并且仍然支持 iOS 7,你必须使用 Storyboards。(如果你通过代码使用它们,则没有向后兼容性)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-27
      相关资源
      最近更新 更多