- 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/
每次导航到另一个屏幕时,我都会在控制台中收到此消息: [Assert] displayModeButtonItem is internally managed and not exposed for
我正在学习使用 Xcode 6.3 和 iOS SDK 8.3 的基本控件和模板。在我创建了一个Master-Detail View 模板后,我尝试更改detailview 的导航栏 上的后退按钮的标
有人知道更改从 UISplitViewController 委托(delegate)返回的按钮的文本(和外观吗?)的方法: func displayModeButtonItem() -> UIBarB
我正在尝试为我的 UISplitViewController 中的 displayModeButtonItem 使用图像。我得到的项目看起来像我想要的,但在 iPhone 上点击时它没有任何作用。使用
当处于纵向模式 (iPad) 或横向模式 (iPhone 6+) 时,我无法让 iOS 显示我的按钮以显示 UISplitView 主视图。 现在我正在使用下面的代码,但它什么也没做... d
我在 xcode 6 中启动了一个 Split View 项目,它运行良好。开箱即用,我得到了一个 Split View,它在纵向模式下有一个导航按钮(左上角),这样主视图就可以弹出/弹出。 主要问题
我在 iPad 上使用 UISplitView 时遇到问题。 我使用 UISplitView 创建普通应用程序,并在我添加的 DetailViewController 中 override func
所以我的用例是在详细 View 中有一个 TabBarController,大约四个选项卡,每个选项卡都有自己的 NavigationController。都是通过 Storyboard。然后在我的
我的应用程序使用 splitViewcontroller。我删除了 DetailViewController 的导航栏。所以我不能使用: navigationItem.leftBarButtonIte
我有一个 SplitViewController 并且正在实现: myNavVC?.topViewController?.navigationItem.leftBarButtonItem = spli
我正在尝试在 iOS8 上创建一个简单的 Split View、Master/Detail 应用程序。 Storyboard 如下所示: SVC=SplitViewController TBVC=Ta
我在 iOS 9 上使用 Swift,使用 splitViewController 在我的应用中启用滑出菜单。 除了无法为我的“菜单”按钮(即 splitViewController 的 displa
我是一名优秀的程序员,十分优秀!