在iOS开发中,用UINavigationController可以push出一个界面(UIViewController),但不能push出一个UINavigationController。

如果尝试下这么做,应用会抛出异常,并给出log提示:

reason: 'Pushing a navigation controller is not supported'

因为一些奇怪的产品、交互需求,或者是旧有的界面层级问题,非要在一个已有的UINavigationController中以从左到右的动画方式(即系统默认的push动画样式)展示一个UINavigation......