如何将 SideNavigationViewController 实现到 UIViewController 中?

How to implement a SideNavigationViewController into a UIViewController?

对于如何在我的主视图控制器中实现它有点困惑。示例项目将其显示为导航控制器,但我无法在新的导航控制器或我当前的 UIViewController 上添加现有的 class。我可能只是错误地实施了它。如果我能在如何使用这些方面获得一些牵引力,我将不胜感激。

如果你能分享一些代码那就太好了。

工作原理:

导航控制器

目前有 4 种不同的导航控制器,每种都提供自己的功能。这些控制器可以单独使用,也可以一起使用。

SideNavigationViewController

SideNavigationViewController 提供了 3 个主体来显示内容:mainViewController、leftViewController 和 rightViewController。

MainViewController

mainViewController 必须始终存在,并且可以使用 transitionFromMainViewController 方法在视图控制器之间进行转换。使用此方法就像在其第一个参数中传递 UIViewController 一样简单。

sideNavigationViewController?.transitionFromMainViewController(InboxViewController())

还有更多参数允许在视图控制器之间转换时设置动画、完成等...。

LeftViewController 和 RightViewController

leftViewController和rightViewController只能设置一次。要使它们动态化,您需要使用另一个 Navigation Controller 作为其视图控制器。

NavigationBarViewController

NavigationBarViewController 提供了一个 NavigationBarView 以及管理两个 UIViewController 的能力,mainViewControllerfloatingViewController

MainViewController

mainViewController 类似于 SideNavigationViewController 的 mainViewController,在 NavigationBarViewController 的主体部分有一个从视图控制器转换到视图控制器的 transitionFromMainViewController 方法。

FloatingViewController

floatingViewController 是一个 modalViewController,设置后,它会弹出 MainViewController 和 NavigationBarView。设置该值如下:

navigationBarViewController?.floatingViewController = InboxViewController()

要关闭和隐藏 floatingViewController,请将其设置为 nil,就像这样。

navigationBarViewController?.floatingViewController = nil

SearchBarViewController

SearchBarViewController 提供了一个单一的转换 mainViewController,并且在顶部有一个 SearchBarView。转换 mainViewController 是这样的:

sideNavigationBarViewController?.transitionFromMainViewController(InboxViewController())

MenuViewController

MenuViewController 是另一个具有 mainViewController 的控制器,它占据了整个屏幕。浮动在其上方的是一个 MenuView,用于在 mainViewController 之间进行转换。

menuViewController?.transitionFromMainViewController(InboxViewController())

最后的笔记

这些导航控制器可以以任意组合和任意次数使用,从而创建一个强大而复杂的控制器堆栈,就像一个控制器一样。

希望对您有所帮助:)