【发布时间】:2016-05-15 23:54:57
【问题描述】:
我们经常尝试重用我们的视图控制器,无论它们是被推送到导航控制器还是被呈现。但是,当显式 UINavigationBar 是视图控制器功能设计的一部分时,事情可能会变得有点棘手。
如果我们只是设置视图控制器的导航项,推送到导航控制器会按预期工作,但呈现结果根本没有导航栏。另一方面,如果我们向视图显式添加和配置 UINavigationBar,呈现效果很好,但推送会导致双导航栏。虽然我们可以为该视图指定要隐藏父导航控制器的导航栏,但它会在推送或弹出该视图控制器时创建一个笨拙的动画过渡。
(在一个完美的世界中,我会想象 navigationBar 属性将由 UIViewController 而不是 UINavigationController 管理。唉,事实并非如此,所以我在这里。)
这里的人们发现了哪些最佳实践来维护需要 UINavigationBar 的视图控制器的可移植性?
【问题讨论】:
标签: ios cocoa-touch uiviewcontroller uinavigationcontroller uinavigationbar