我有这个应用程序,它在内部使用UISplitViewControler
来显示主界面。我遇到的问题是,在IOS7上我没有看到左侧的按钮来打开主控面板。UISplitViewControlerDelegate XCode 6 + IOS7
该理论说,我必须设置委托,并出现按钮。在实践中 - 我的代表不在IOS7中调用。它在IOS8上。
首先尝试:
- 我按照正常的双倍导航控制器方案(如下所述:http://whoisryannystrom.com/2014/11/17/UISplitViewController-iOS-7/)
- 代码是迅速:)
- ,因为我需要我的应用程序上IOS7工作在我没有在代码中创建分割视图控制器,但使用故事板中的分割视图控制器:
(在应用程序中的某处删除门):
UIStoryboard *board = [UIStoryboard storyboardWithName:@"Storyboard" bundle:nil];
UIViewController *newController = [board instantiateViewControllerWithIdentifier:@"LoginViewController2"];
self.window.rootViewController = newController;
- 委托是在主创建的,并分配给主站。这适用于IOS8。在主
override func akaweFromNib() { super.awakeFromNib() if let splitViewController = self.splitViewController { let navigationController = splitViewController.viewControllers[splitViewController.viewControllers.count-1] as UINavigationController if (splitViewController.respondsToSelector(Selector("displayModeButtonItem"))) { navigationController.topViewController.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem() } splitViewController.delegate = self } }
这
代码的工作,但我打开抽屉,并选择以看到按钮上的主视图东西(创建一个新的SEGUE)。
第二次尝试
由于这没有工作 - 我创建了一个新的UISplitViewController和故事板拆分视图控制器设置为这个新类。将onWakeFromNib移动到这个新类(并像以前一样设置委托)。新的代码适用于IOS8,但在IOS7下(至少在IPad Emulator上),新类不用于分割视图控制器 - 我没有在新代码中找到断点。
我在做什么错?
编辑:
在这里复制的代码,我忘了提,我做的:
navigationItem.leftItemsSupplementBackButton = true
navigationItem.leftBarButtonItem = splitViewController?.displayModeButtonItem()
但是 - 这是只有在iOS8上可用。我可以在IOS7中做什么?
2015-02-12 10:37:55.987 OlympiaTracking[92551:607] -[UISplitViewController displayModeButtonItem]: unrecognized selector sent to instance 0x7b67f1c0
编辑2: 我也跟着ios7 no displayModeButtonItem or targetDisplayModeForActionInSplitViewController其中,但第一个SEGUE后才会起作用。首次显示控制器时,该按钮不可见。
是,使用的文件,同时学习。但是该API在IOS7上不可用。 – elcuco 2015-02-12 08:40:47