将 UITabBar 放置在 UITabBarController 中的屏幕顶部

Posted

技术标签:

【中文标题】将 UITabBar 放置在 UITabBarController 中的屏幕顶部【英文标题】:Placing UITabBar on top of the screen within UITabBarController 【发布时间】:2013-11-15 00:35:11 【问题描述】:

我将 UITabBarController 子类化以允许自定义 UITabBar 具有粉红色背景并位于屏幕顶部。问题是,当我将 UITabBar 的框架设置为顶部时,它会移动并正常工作,但屏幕底部似乎有一个不可见的覆盖层,阻止了用户与底部元素的任何交互。另外,我认为 Apple 建议不要直接从 UITabBarController 中操作 UITabBar。最好的解决方案是什么?下面是用于将标签栏移动到顶部的代码,在我的 CustomTabBarController 子类的 viewDidLoad 方法中:

CGRect frame = CGRectMake(0.0, 0.0, self.view.bounds.size.width, self.tabBar.bounds.size.height + 15);
[self.tabBar setFrame:frame];

【问题讨论】:

【参考方案1】:

很有可能将标签栏放在屏幕顶部。这是一个 github 项目的链接,该项目确实将标签栏放在屏幕顶部。 https://github.com/hollance/MHTabBarController

查看项目,如果您需要更多帮助,请告诉我。

【讨论】:

这个项目使用自定义代码完成了这一切,顶部有 UIButtons 和嵌入式视图控制器(不使用标签栏)。但该实现看起来提供了预期的效果。

以上是关于将 UITabBar 放置在 UITabBarController 中的屏幕顶部的主要内容,如果未能解决你的问题,请参考以下文章

自定义颜色的 UITabBar 图标

具有垂直对齐图像的自定义 UITabBar

iOS 7 UITabBar 徽章位置

UIStoryboards、UITableViewControllers 和 UIToolbars:无法将工具栏放置在我想要的位置

如何将UITabBar嵌入故事板xcode中的另一个UITabBar

将 UITabBarItem 添加到 UIViewController 中的 UITabBar