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
。。只有主人。