Ios 在UITabBarController的顶栏上有UIBABBUTTONIMS

Ios 在UITabBarController的顶栏上有UIBABBUTTONIMS,ios,objective-c,interface-builder,uitabbarcontroller,uibarbuttonitem,Ios,Objective C,Interface Builder,Uitabbarcontroller,Uibarbuttonitem,这可能是一个小问题,但是如何在嵌入到uitabarcontroller中的视图中设置带有UIBarButtonItems的标题栏?例如,在Apple Clock应用程序中,您会看到一个标题栏,显示“秒表”作为此选项卡的标题。在其他选项卡中,也有uibarbuttonims 根据,最上面的控件是uibarbuttonims,就像在世界时钟页面上一样。一个将其置于编辑模式,另一个打开模式对话框以选择位置。这两种导航都不是推式导航,我认为这主要是UINavigationController中使用的导

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

根据,最上面的控件是
uibarbuttonims
,就像在世界时钟页面上一样。一个将其置于编辑模式,另一个打开模式对话框以选择位置。这两种导航都不是推式导航,我认为这主要是UINavigationController中使用的导航

我知道我可以将主视图嵌入到
UINavigationController
中,以提供导航栏,但对于一个栏来说,这似乎是一个很大的开销。我可以在上面添加UIToolbar,但根据您的要求,不应该这样做:

注意:为了澄清,在iPhone上,工具栏应该总是出现在屏幕或视图的底部边缘,但在iPad上,它可以出现在顶部边缘

对于我的应用程序,我希望在右上角至少有一个选项卡上有一个共享按钮,这样它就可以加载一个模式活动视图控制器,所以严格来说它不是一个导航(没有推送序列,就像
UINavigationController
中通常使用的那样。因此,虽然我可以使用
UINavigationController
,但对于无法导航的东西来说,这似乎是不必要的开销


那么,如何将标题栏和UIBarButtonims添加到内嵌在
UIAbbarController
中的视图控制器中是最好的方法呢?

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

最佳方式 使用UINavigationController

它没有太多的开销,而且从长远来看,它比UIToolbar有更多的优势

优点:

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

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

感谢您的书面回答。我非常喜欢您如何解决UIToolbar的使用问题(而且它可能仍然会被接受)这太长了,读不下去了,使用UnavigigPror控制器的原因,甚至TL;DR部分。这绝对是我关于堆栈溢出问题的一个最好的答案。我将根据您的建议使用UINavigationController。