在 UITabBarController 中自定义更多选项卡

Posted

技术标签:

【中文标题】在 UITabBarController 中自定义更多选项卡【英文标题】:Customize More Tab in UITabBarController 【发布时间】:2016-11-24 06:55:52 【问题描述】:

我需要在 UITabBarController 中自定义 More Tab TableView(或其他)。

我有这个:

我需要这个:

所以我必须:

    更改导航栏颜色 禁用编辑按钮 删除空单元格 更改标签栏更多图标 改变背景颜色 将单元格标签向左移动几个点

当我看到这个列表时,创建简单的静态表格视图作为更多选项卡可能会容易得多,但我想知道,如果我能够按照我的需要进行自定义。

感谢您的宝贵时间!

编辑:我知道如何在经典表格视图或视图中进行此操作,但是当我有超过 5 个选项卡时,我不知道如何访问 UITabBarController 中自动创建的更多选项卡。

【问题讨论】:

你试过了吗? 我不知道如何访问那个 TableView 或者它是什么 【参考方案1】:

1a) UINavigationBar 更改(顶部栏) 在你的 AppDelegate 中粘贴:

//make status bar (with time, battery status) white
UINavigationBar.appearance().barStyle = .black

//change color of your navigation bar
UINavigationBar.appearance().barTintColor = UIColor.orange

1b)改变UITabBar颜色:

//make selected tab orange
UITabBar.appearance().barTintColor = UIColor.orange

2) 禁用编辑按钮。 在您的ViewController 中创建UIBarButtonIBOutlet,或者如果您以编程方式创建 UIBarButton,则获取对它的引用 然后在viewDidLoad 中输入:

override func viewDidLoad() 
   //...
   //gray out UIBarButton
   myBarButton.isEnabled = false

3) 删除空单元格 将 UITableView 样式更改为在您的 IB 中分组

4) 改变表格视图的背景颜色 在 Interface Builder 中更改表格视图的背景颜色

5) 向左移动标签 创建一个自定义 UITableViewCell,拖放一个 UILabel 并根据需要调整 x 值。

编辑:更改更多标签 我猜您正在尝试修改更多选项卡的文本。当标签栏中的视图控制器超过 5 个时,会自动生成更多标签。为了以正确的语言显示文本,您必须为项目添加新的本地化:单击蓝色项目图标,进入项目设置并添加新语言,如屏幕截图所示。 如果您现在在已添加本地化(例如德语、法语)的设备上运行应用程序,则文本应该以正确的语言显示。

【讨论】:

当它不在情节提要中时,如何创建该 IBOutlet?当我在标签栏中有超过 5 个标签时,会自动生成更多标签。我不知道,如何访问它。如果我将它放在 StoryBoard 中,我知道如何完成我列表中的每一点。 @Lifeplus 你找到答案了吗?

以上是关于在 UITabBarController 中自定义更多选项卡的主要内容,如果未能解决你的问题,请参考以下文章

在iPhone中自定义TabBar

在 UITabBarController 中覆盖 UITabBar

在 TabBArController 中自定义 tabBarItems 的外观

在 UITabBarController 中,moreNavigationController 始终为零

UITabBarController 自定义

在 UITabBarController 中制作自定义 UITabBar 的正确方法