A little confused on how to implement this into my main view controller. The example project shows it as a navigation controller, but I wasn't able to add an existing class on a fresh navigation controller or my current UIViewController. I could just be implementing it wrong though. Much appreciation if I can gain some traction on how to work with these.
1 回答
如果您可以共享一些代码,那就太好了。
如何工作:
导航控制器
目前有 4 种不同的导航控制器,每种都提供自己的功能。这些控制器可以单独使用,也可以一起使用。
SideNavigationViewController
SideNavigationViewController 提供 3 个主体来显示内容:mainViewController、leftViewController 和 rightViewController。
主视图控制器
mainViewController 必须始终存在,并且可以使用该transitionFromMainViewController
方法在视图控制器之间进行转换。使用这个方法就像在它的第一个参数中传递一个 UIViewController 一样简单。
sideNavigationViewController?.transitionFromMainViewController(InboxViewController())
还有更多参数允许在视图控制器之间转换时设置动画、完成等。
LeftViewController 和 RightViewController
leftViewController 和 rightViewController 只能设置一次。要使它们动态化,您需要使用另一个导航控制器作为其视图控制器。
导航栏视图控制器
NavigationBarViewController 提供了 NavigationBarView 以及管理两个 UIViewControllers、mainViewController和floatingViewController的能力。
主视图控制器
mainViewController 类似于 SideNavigationViewController 的 mainViewController,并且在 NavigationBarViewController 的主体部分有一个从视图控制器转换到视图控制器的 transitionFromMainViewController 方法。
浮动视图控制器
floatingViewController 是一个modalViewController,设置后,它会弹出MainViewController 和NavigationBarView。设置该值是这样的:
navigationBarViewController?.floatingViewController = InboxViewController()
要关闭和隐藏 floatingViewController,请将其设置为 nil,如下所示。
navigationBarViewController?.floatingViewController = nil
搜索栏视图控制器
SearchBarViewController 提供了一个单一的过渡 mainViewController,并且在顶部有一个 SearchBarView。转换 mainViewController 是这样的:
sideNavigationBarViewController?.transitionFromMainViewController(InboxViewController())
菜单视图控制器
MenuViewController 是另一个具有 mainViewController 的控制器,它占据整个屏幕。漂浮在它上面的是一个用于在 mainViewController 之间转换的 MenuView。
menuViewController?.transitionFromMainViewController(InboxViewController())
最后的笔记
这些导航控制器可以以任意组合和任意次数使用,创建一个强大而复杂的控制器堆栈,就像一个控制器一样。
我希望这有帮助 :)