在特定索引处插入 UITabBarItem

Insert UITabBarItem at Specific Index

我的 Swift 4 UITabBarController 通常有 4 UITabBarItem 项。 在某些情况下,它可以有 五个 而不是四个,但我总是希望最右边的按钮是相同的。这意味着我需要在第四个 "slot".

中动态插入 and/or 删除 UITabBarItem

我能够毫无问题地处理在代码中添加和删除 UITabBarItem,但除了使用 .append 之外,我无法确定如何执行此操作只会将其添加到第五个 "slot".

仔细研究 Apple 文档和 Stack Overflow 数小时仍未找到解决方案。如何在特定索引处插入 UITabBarItem

UITabBarController 有一个名为 viewControllers 的 属性,这是它管理的 viewController 的数组。

如果你想在插槽 4 插入一个新的 viewController(我们称它为 vc5),那么你需要将它插入到索引 [=16= 的数组中] 因为计数从 0:

开始
myTBC.viewControllers?.insert(vc5, at: 3)

同样,要从第 4 个位置删除 viewController:

myTBC.viewControllers?.remove(at: 3)

您可以阅读有关使用 UITabBarController here. Also check out Array mutating functions insert(_:at:) and remove(at:) 的更多信息。