如何将 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 的能力,mainViewController 和 floatingViewController。
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())
最后的笔记
这些导航控制器可以以任意组合和任意次数使用,从而创建一个强大而复杂的控制器堆栈,就像一个控制器一样。
希望对您有所帮助:)
对于如何在我的主视图控制器中实现它有点困惑。示例项目将其显示为导航控制器,但我无法在新的导航控制器或我当前的 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 的能力,mainViewController 和 floatingViewController。
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())
最后的笔记
这些导航控制器可以以任意组合和任意次数使用,从而创建一个强大而复杂的控制器堆栈,就像一个控制器一样。
希望对您有所帮助:)