我已经实施了一个SWRevealViewController
菜单作为后视图,UITableViewController
上面有几个标签。我想要做的是从这些标签转移到UISplitViewController
。
当我按住Ctrl键并从标签拖动到UISplitViewController时,没有显示segue选项。这是Main.storyboard的截图
此外,我无法在UINavigationController中嵌入UISplitViewController,当我进入编辑/嵌入时,所有选项都是灰色的。
答案 0 :(得分:1)
事实上,您可以将UINavigation控制器与容器视图和第二个视图控制器结合使用。
将UINavigationController添加到故事板并确保将其设置为初始视图控制器:
VC1
)root view controller
:
将UIButton添加到VC1:
向场景中添加第二个视图控制器(让我们将其重命名为VC2
)
向VC2添加容器视图,替换初始视图(将其拖到视图顶部以使其突出显示灰色):
如果你做对了,它应该是这样的:
删除Xcode自动添加到场景并嵌入容器视图中的不必要的View Controller,然后将Split View Controller添加到场景中
最后但并非最不重要的是,从VC1中的按钮添加一个show(prev.push)segue到VC2 - ctrl +从VC1中的按钮拖动到VC2控制器并选择显示:
答案 1 :(得分:0)
不通过导航控制器推动拆分视图控制器 可能,但是有另一种方法可以完成工作
您可以创建一个视图控制器,并将拆分的视图控制器添加为子视图,然后可以通过导航控制器推送创建的视图控制器。它将显示您的拆分视图控制器,您可以使用主视图和细节视图。将导航推送方法添加到tableview的didselect方法中
*记住,将yoursplitviewcontroller类添加到情节提要中的自定义类
说明 splitcontroller->(主,详细信息)
let splitVC = getViewController(storyBoardName: "story board name", viewControllerName: "split view controller identifier") as! yoursplitviewcontroller
view.addSubview(splitVC.view)
view.bounds = splitVC.view.bounds
addChild(splitVC)
func getViewController(storyBoardName: String, viewControllerName: String) -> UIViewController{
let storyBoard = UIStoryboard(name: storyBoardName, bundle: nil)
return storyBoard.instantiateViewController(identifier: viewControllerName)
}