这可能是一个小问题,但是如何在嵌入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

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

1回复

修改从UITabBarController的“更多”选项卡显示的选项卡的导航栏上的“更多”按钮

我有一个带有UITabBarController的应用程序,该应用程序具有五个以上的选项卡。 当我按“ 更多”选项卡时,我转到moreNavigationController ,它是一个UINavigationController 。 正如你所看到的,我已经找到了如何风格的标题
1回复

使用UIBarButtonItem iOS9在UITabBarController中显示弹出框

我想使用iOS9中的ObjectiveC呈现UITabBarController中存在的UIBarButtonItem的弹出窗口。 此弹出窗口是UITableViewController。 我已经按照以下方式进行了编码 我想我已经错过了Popover的内容大小,但不知道如何初始化它。
2回复

双击栏按钮项滚动到顶部

当我双击任何BarButtonItem时,我想滚动到顶部。 我在stackOverflow上看到了很多答案,但是没有一个对我有用。 也许我用错了吗? 我要将代码专门添加到AppDelegate或TableViewControllers哪个位置? 无论如何,我正在使用Swift 2.3
2回复

从UITabBarController(UITabBarControllerDelegate)处理UIBarButtonItem

我是新来的:-(。 我有一个漂亮的标准Tab栏控制器,向其中添加了UIButtonBarItem(我使用情节提要编辑器来完成此操作)。 一切看起来都很好,但是我不知道如何处理“按钮按下”事件。 我已经为标签栏控制器建立了一个委托,因此我可以捕获“ didSelectViewContro
3回复

条形图按钮项仅在一个标签栏控制器导航栏中

我有一个带有4个视图控制器的标签栏控制器,并在导航控制器中有这个标签栏控制器。 我想为标签栏控制器的一个特定视图控制器显示一个UIBarButtonItem。 我试着使用以下内容 但按钮没有显示出来。 如果我将每个视图控制器放在导航控制器中,则该按钮仅显示该视图,但最终
2回复

如何通过导航栏按钮访问选项卡栏项

我创建了一个CustomTabBarController类,它具有5个效果很好的按钮。 每个按钮触发一个单独的视图控制器。 示例:home按钮触发homeViewController并将其完美显示在屏幕上。 在homeViewController ,我使用以下代码创建了一个右栏
2回复

有没有很好的UITabBarController示例?

有没有在appDelegate中未创建的UITabBarController范例吗? 我想在UIViewController中使用UITabBarController,但是不知道如何设置视图出口。
5回复

选中时导航栏中的UIBarButtonItem突出显示,但工具栏中的UIBarButtonItem未选中

我有一个简单的UITableViewController ,将NavigationController作为根视图控制器。 我在导航栏上添加了“选项” UIBarButtonItem ,在工具栏上添加了“开始” UIBarButtonItem ,如下所示: 。 我遇到的问题是,当按下“
1回复

连接到tabbarcontroller时,无法在swift 4.2的导航栏中显示barbutton项目吗?

我已经像这样链接了navigationController和tabBarController 视图控制器中的barbutton项目的代码:
2回复

在选项卡栏中嵌入View Controller Controller删除导航项

我有一个已经嵌入到导航控制器中的View Controller,例如: Table View Controller具有以编程方式添加的标题和按钮,它们可以正常工作: 我想将Table View Controller嵌入到Tab View Controller中,如下所示: