CosmicMind/Material - 如何在 NavigationDrawerController 中调用 pushViewController?

Posted

技术标签:

【中文标题】CosmicMind/Material - 如何在 NavigationDrawerController 中调用 pushViewController?【英文标题】:CosmicMind/Material - How to call pushViewController in NavigationDrawerController? 【发布时间】:2017-04-09 08:15:12 【问题描述】:

我想在NavigationDrawerControllerhttps://github.com/CosmicMind/Samples/blob/master/Projects/Programmatic/NavigationDrawerController/NavigationDrawerController/RootViewController.swift的当前样本中对rootViewController 执行pushViewController

以及TransitionedViewControllerhttps://github.com/CosmicMind/Samples/blob/master/Projects/Programmatic/NavigationDrawerController/NavigationDrawerController/TransitionedViewController.swift

如果我打电话给navigationController?.pushViewController(MyController(), animated: true),什么都不会发生

如果将 NavigationController 附加到 rootViewController,则中心 rootViewController 不会在点击 leftViewController 时发生变化

(navigationDrawerController?.rootViewController as? ToolbarController)?.transition(to: TransitionedViewController(), completion: closeNavigationDrawer)

这是因为rootViewController 没有NavigationController。如果我将AppToolbarController 附加到rootView,则导航将不起作用,如果我将AppToolbarController 附加到rootViewController,则navigationDrawer 转换将不起作用。

请帮忙!

【问题讨论】:

【参考方案1】:

您的设置听起来像是在尝试结合多个想法。所以我有点困惑,但是从你的问题标题“如何在 NavigationDrawerController 中调用 pushViewController” - 从 NavigationDrawerController 调用 pushViewController 的代码,其中 NavigationDrawerController.rootViewController 是 NavigationController 这样做:

(navigationDrawerController?.rootViewController as? NavigationController)?.pushViewController(MyViewController(), animated: true)

让我知道这对你有什么好处,祝你好运:)

【讨论】:

以上是关于CosmicMind/Material - 如何在 NavigationDrawerController 中调用 pushViewController?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Cosmicmind/Material TextField 将 TextField 的分隔线也放置在 LeftView 下

Capture API 在黑暗中效果不佳,尤其是在夜间或通过相机预览暗角时

材料迅速:带有搜索栏和标签栏的 UIView 迅速移出视图 3

如何在图像中找到明亮区域(以及如何在图像中找到阴影区域)

在QGIS中如何添加天地图的WMTS

如何在表单提交后保留文本(如何在提交后不删除自身?)