Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ios7无显示模式按钮项或targetDisplayModeForActionInSplitViewController_Ios_Uisplitviewcontroller - Fatal编程技术网

ios7无显示模式按钮项或targetDisplayModeForActionInSplitViewController

ios7无显示模式按钮项或targetDisplayModeForActionInSplitViewController,ios,uisplitviewcontroller,Ios,Uisplitviewcontroller,我在xcode 6中启动了一个分割视图项目,它工作得非常好。开箱即用,我得到了一个分割视图,在纵向模式下有一个导航按钮(左上角),这样主视图可以弹出/弹出 主要问题是它在iOS7中不工作,因为displayModeButtonItem和targetDisplayModeForActionInSplitViewController仅在iOS8中工作 我见过一些应用程序能达到同样的效果并在iOS7中工作,但我不知道如何做到这一点。有没有人在iOS7中有一个很好的例子或解决方法来实现这一点 恼火的是,

我在xcode 6中启动了一个分割视图项目,它工作得非常好。开箱即用,我得到了一个分割视图,在纵向模式下有一个导航按钮(左上角),这样主视图可以弹出/弹出

主要问题是它在iOS7中不工作,因为displayModeButtonItem和targetDisplayModeForActionInSplitViewController仅在iOS8中工作

我见过一些应用程序能达到同样的效果并在iOS7中工作,但我不知道如何做到这一点。有没有人在iOS7中有一个很好的例子或解决方法来实现这一点


恼火的是,开箱即用的xcode构建了一个只能在iOS8中工作的项目,但我想苹果并不会让我完全感到惊讶。

您仍然可以在
UISPlitViewController中使用弃用的回调函数来添加和删除iOS 7平台的详细视图中的
uiBarButtonim
。在您的
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.
    }
}

这是一个类似的问题,但它使用的是工具栏,而不是将该按钮放在导航栏中(意味着没有返回箭头)