用 UIToolBar 替换 UITabBar

Posted

技术标签:

【中文标题】用 UIToolBar 替换 UITabBar【英文标题】:Replace UITabBar with UIToolBar 【发布时间】:2010-09-18 20:43:29 【问题描述】:

我有一个带有UITabBarController 的应用程序,带有一个UINavigationController 子视图,其中包含一个表格视图。我希望能够在选择单元格时为特定视图控制器切换 UITabBarControllerUIToolbar

这是来自其他一些应用程序的示例,它的反应方式相同:

当你选择一个表格视图单元格时:

详细视图控制器(第二个屏幕)需要将父级UITabBarController 替换为UIToolbar。有谁知道我该怎么做?

【问题讨论】:

【参考方案1】:

来自UIToolBar on top of UITabBar?:

您可以将工具栏添加为关键窗口的子视图:

[[[UIApplication sharedApplication] keyWindow] addSubview:toolbarView]

【讨论】:

【参考方案2】:

为什么不: detailController.hidesBottomBarWhenPushed = YES;

在推送到导航堆栈之前?您的 DetailController 的视图可以通过代码或 IB 添加工具栏。

【讨论】:

这是迄今为止最好的选择。尽管其他答案有效,但这个答案做得最好。其他方法的问题是它们不支持旋转。因此,如果您想支持自动旋转,只需在视图上使用 hidesBottomBarWhenPushed,然后再将其推送到 NavigationController 堆栈上。然后它将允许您的新视图占据整个屏幕。【参考方案3】:

虽然@Hector Ramos 的答案是正确的。

但除此之外,也可以用其他方式做同样的事情。

只需制作 DelegateClass 文件的对象并使用它:

[DelegateClassObj.window addSubview:toolbar];

【讨论】:

以上是关于用 UIToolBar 替换 UITabBar的主要内容,如果未能解决你的问题,请参考以下文章

用故事板实现的 UIToolbar:如何更改按钮?

更改 UIToolbar 项会导致工具栏变为空白

UIToolbar 的多个自定义背景

我可以向 UIToolbar 添加彩色按钮吗?

自定义 UIToolbar 用动画调整大小

用键盘iOS8移动UIToolbar