在 UITabBarController 中制作自定义 UITabBar 的正确方法
Posted
技术标签:
【中文标题】在 UITabBarController 中制作自定义 UITabBar 的正确方法【英文标题】:The right way to make a custom UITabBar inside UITabBarController 【发布时间】:2012-05-23 12:04:03 【问题描述】:我正在尝试使用 UITabBarController 创建一个应用程序,以便使用 Cocoa 自己的内存和视图控制器管理在不同的视图控制器之间切换。
但是,我确实需要制作一个非常自定义的 UITabBar,经过多次谷歌搜索后我发现这是不可能的。原来的 UITabBar 有几件事是不可能的:
更改 TabBar 的位置和大小, 向工具栏添加自定义(非选项卡)元素,例如搜索/下拉菜单是否有任何“合法”方法可以完全改变 TabBar 的设计/子视图,但同时使用 UITabBarController 并仍然获得 Apple 批准的应用程序?
感谢您的帮助。
【问题讨论】:
【参考方案1】:关于更改大小,您可以扩展 UITabBar 并覆盖函数 sizeThatFits。 很抱歉没有回答其他问题。
- (CGSize)sizeThatFits:(CGSize)size
CGSize auxSize = size;
auxSize.height = 54; // Put here the new height you want
return auxSize;
我一发现就会告诉你。
【讨论】:
【参考方案2】:标签栏中不能自定义太多,但有一些很好的例子:-
-
Custom Tabbar by iDevRecipes
Custom TabBar by brianCollins
它可能不是你所需要的,但会给你指明方向。
【讨论】:
感谢您的回答。在问这个问题之前,我研究了这两种解决方案。两者似乎都没有什么严重的问题,最近也没有错误修复(最后一次更改是在 6 个多月前)。我确实明白总是有可能使用外部库或自己编写解决方案,但我正在寻找干净的解决方案,如果有的话:)以上是关于在 UITabBarController 中制作自定义 UITabBar 的正确方法的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 中制作简单的 UITabBarController?
以编程方式制作 UITabBarController 和 UINavigationController Swift 4
防止自定义 UITabBarController 更改选项卡