los*_*ion 3 uisplitviewcontroller ios
我在xcode 6中启动了一个Split View项目并且工作得很好.开箱即用的我在纵向模式下有一个带有导航按钮(左上角)的分割视图,这样主视图就可以弹出/弹出.
主要问题是它在iOS7中不起作用,因为displayModeButtonItem和targetDisplayModeForActionInSplitViewController仅为iOS8.
我已经看到一些应用程序实现了相同的效果,并在iOS7中工作,但我不知道如何做到这一点.有没有人有一个很好的例子或解决方法来实现这一点在iOS7中.
开箱即用的xcode构建了一个只能在iOS8中运行的项目,但我想苹果并不会让我感到惊讶.
您仍然可以使用已弃用的回调函数UISplitViewControllerDelegate来添加和删除UIBarButtonItemiOS 7平台的详细信息视图.在您的实现如下UISplitViewControllerDelegate:
func splitViewController(svc: UISplitViewController, willHideViewController aViewController: UIViewController, withBarButtonItem barButtonItem: UIBarButtonItem, forPopoverController pc: UIPopoverController) {
if (!self.respondsToSelector(Selector("displayModeButtonItem"))) {
let navigationController = self.viewControllers.last as UINavigationController
let detailViewController: UIViewController? = navigationController.viewControllers?.last as? UIViewController
barButtonItem.image = UIImage(named: "IC_BackChevron")
detailViewController?.navigationItem.leftBarButtonItem = barButtonItem
} else {
// This callback function is depreciated in IOS8. We use displayModeButtonItem.
}
}
func splitViewController(svc: UISplitViewController!, willShowViewController aViewController: UIViewController!, invalidatingBarButtonItem barButtonItem: UIBarButtonItem!) {
if (!self.respondsToSelector(Selector("displayModeButtonItem"))) {
let navigationController = self.viewControllers.last as UINavigationController
let detailViewController: UIViewController? = navigationController.viewControllers?.last as? UIViewController
detailViewController?.navigationItem.leftBarButtonItem = nil
} else {
// This callback function is depreciated in IOS8. We use displayModeButtonItem.
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1772 次 |
| 最近记录: |