Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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
Ios PushRow和UISplitViewController导航_Ios_Swift3_Eureka Forms - Fatal编程技术网

Ios PushRow和UISplitViewController导航

Ios PushRow和UISplitViewController导航,ios,swift3,eureka-forms,Ios,Swift3,Eureka Forms,我正在处理一个UISplitViewController子类,它有一个UINavigationController作为主视图控制器(原因是我需要导航栏)。UINavigationController有一个FormViewController子类作为rootViewController。在表单中,我使用一个按钮行来显示可选选项的列表。问题是,在常规宽度环境中,当我点击按钮行时,选择器或视图控制器会被推到主导航堆栈中。我希望看到SelectorViewController显示为UISplitView

我正在处理一个
UISplitViewController
子类,它有一个
UINavigationController
作为主视图控制器(原因是我需要导航栏)。
UINavigationController
有一个
FormViewController
子类作为rootViewController。在表单中,我使用一个
按钮行
来显示可选选项的列表。问题是,在常规宽度环境中,当我点击
按钮行时,
选择器或视图控制器
会被推到主导航堆栈中。我希望看到
SelectorViewController
显示为
UISplitViewController
详细信息

我创建了一个
DummyNavigationController
,看起来像这样:

class DummyNavigationController: UINavigationController {

    override init(rootViewController: UIViewController) {
        super.init(rootViewController: rootViewController)
    }

    override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {
        super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }

    override func targetViewController(forAction action: Selector, sender: Any?) -> UIViewController? {
        if let parent = parent as? UISplitViewController {
            return parent.isCollapsed ? self : parent
        }
        return self
    }

}
将其用作
FormViewController
的导航控制器,我可以看到详细信息中的
选择器或ViewController
,但我不喜欢这种方法


还有什么我能做的吗?

我知道这不是一个非常具体的答案,但我缺乏评论的声誉

您只能在UINavigationController中嵌入SplitViewController的一侧,而不是整个SplitViewController,这样,当您切换到SelectorViewController时,它将仅在SplitViewController的一侧显示


我知道这不是一个非常具体的答案,但我缺乏评论的声誉

您只能在UINavigationController中嵌入SplitViewController的一侧,而不是整个SplitViewController,这样,当您切换到SelectorViewController时,它将仅在SplitViewController的一侧显示


我没有将整个
SplitViewController
嵌入
UINavigationController
中。。只有主机。我没有将整个
SplitViewController
嵌入
UINavigationController
。。只有主人。