作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在 xcode 6 中启动了一个 Split View 项目,它运行良好。开箱即用,我得到了一个 Split View,它在纵向模式下有一个导航按钮(左上角),这样主视图就可以弹出/弹出。
主要问题是它在 iOS7 中不起作用,因为 displayModeButtonItem 和 targetDisplayModeForActionInSplitViewController 仅适用于 iOS8。
我看到一些应用程序可以实现相同的效果并在 iOS7 中运行,但我不知道如何做到这一点。有没有人有一个很好的例子或解决方法来在 iOS7 中实现这一点。
开箱即用的 xcode 构建了一个只能在 iOS8 中运行的项目,但我想我对 apple 并没有完全感到惊讶。
最佳答案
您仍然可以在 UISplitViewControllerDelegate
中使用已弃用的回调函数来添加和删除 UIBarButtonItem
到 iOS 7 平台的详细 View 。在您的 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.
}
}
关于ios7 没有 displayModeButtonItem 或 targetDisplayModeForActionInSplitViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26110594/
我在 xcode 6 中启动了一个 Split View 项目,它运行良好。开箱即用,我得到了一个 Split View,它在纵向模式下有一个导航按钮(左上角),这样主视图就可以弹出/弹出。 主要问题
我是一名优秀的程序员,十分优秀!