我正在使用在Xcode8中使用swift3编写的应用程序。 我的应用程序实现了Cosmicmind-material-framework。
虽然工作我试图了解NavigationController和ToolbarController之间的区别。 (也许有人可以另外解释与PageTabBarController的区别)
我没有真正得到它,因为似乎navigationController包含toolbarController。 那么,为什么我应该使用两者如果我只能使用navigationController并准备所有" toolbar-items"那里。
应用程序不久:
答案 0 :(得分:0)
NavigationController和ToolbarController之间的主要区别在于NavigationController是UINavigationController的子类,它为您提供该类的所有好处,同时允许您自定义外观,就像使用ToolbarController一样。
ToolbarController提供了一种不同类型的流,一种在视图控制器之间使用rootViewController
方法转换transition
的流。它还提供了一个浮动视图控制器,可以在很多方面有效地使用。
与ToolbarController一样,PageTabBarController继承自RootController,它提供相同的rootViewController转换,但默认情况下提供了一个UIPageViewController作为初始的rootViewController。
那么所有这些不同的控制器有什么意义呢?主要设计原因是允许您堆叠具有这些特殊控件的视图控制器,以便创建更复杂的导航体系结构,而无需维护其组织。每个都可以在层次结构中访问,同时管理自己的代码复杂性。用户感觉他们都在无缝地协同工作。
这是一个很好的例子CardTableView sample project,它还展示了如何使用具有基于内容的动态高度的TableView来在PageTabBarController中布局卡片。在大多数情况下,使用由Graph提供支持的持久数据来驱动整个UI。
希望有所帮助:)