这可能是一个小问题,但是如何在嵌入UITabBarController的视图中使用UIBarButtonItems标题栏? 例如,在Apple Clock App中,您会看到标题栏显示“秒表”作为此选项卡的标题。 在其他选项卡中也有UIBarButtonItems。

Apple Clock App的图像

根据Apple GettingStarted Guide ,顶部控件是UIBarButtonItems ,就像在World Clock页面上一样。 一个将其置于编辑模式,另一个打开一个Modal对话框以选择位置。 这两个都不是push segue导航,我认为它主要是UINavigationControllers中使用的导航

我知道我可以在UINavigationController嵌入主视图来提供导航栏,但这似乎是一个酒吧的大量开销。 我可以在那里添加一个UIToolbar,但根据Apple Technical Q&A你不应该这样做:

注意:为了清楚起见,在iPhone上,工具栏应始终显示在屏幕或视图的底部边缘,但在iPad上它可以显示在顶部边缘。

对于我的应用程序,我想在右上方至少有一个选项卡上有一个共享按钮,因此它会加载一个模态活动视图控制器,因此严格来说它不是导航(没有推送segue就像UINavigationController通常做的那样)因此,虽然我可以使用UINavigationControlller ,但对于无法导航的内容来说,这似乎是不必要的开销。

那么,如何将标题和UIBarButtonItems的栏添加到嵌入在UITabBarController的视图控制器的最佳方法是什么?

===============>>#1 票数:3 已采纳

虽然Apple的文档说UIToolbars应该总是出现在底部附近,但从技术上讲,你可以放置它们,你的应用程序仍然会被接受。 许多应用程序确实使用屏幕顶部的工具栏。

最好的办法

使用UINavigationController。

它不是很多开销,从长远来看它比UIToolbar更有优势。

好处:

  • 您可以免费获得顶栏(UINavigationBar)上的标题。 (无需为此创建UIBarButtonItem或UILabel。)
  • 在将来,如果您确定需要segue,则无需重构并在其中放置导航控制器。 (可扩展性是一种很好的编码习惯,可以养成习惯。)

tl; dr - 如果你想要一些简单的东西,可以随意使用UIToolbar。 如果您想以“正确”的方式使用UINavigationController并希望遵循Apple的指导方针,请使用它。

  ask by NickH translate from so

未解决问题?本站智能推荐: