我无法使用 Swift 更改选项卡栏控制器 8 项(在“更多”按钮之后)的文本

I can't change the text of tab bar controller 8 items (after More button) using Swift

我添加了一个8项的标签栏控制器,但是系统为我添加了'more'按钮。 问题是我无法更改标签栏项目 5 和 'more' 的标题。 这是错误消息。我已确认我有 8 件商品。

代码:

tabBarController?.tabBar.items![5].title = "ok"

错误

Thread 1: Exception: "*** __boundsFail: index 5 beyond bounds [0 .. 4]"

考虑以下代码:

class TabBarController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()
        configureViewControllers()
    }

    private func configureViewControllers() {
        let colors: [UIColor] = [.systemRed, .systemBlue, .systemGray, .systemTeal, .systemPink]
        var vcs = [UIViewController]()
        for i in 0...6 {
            let vc = UIViewController()
            vc.view.backgroundColor = colors.randomElement()!
            vc.tabBarItem.title = "VC \(i)"
            vcs.append(vc)
        }
        viewControllers = vcs
    }
}

因此您必须通过 vc.tabBarItem.title = "your title" 设置视图控制器的标题,或者您甚至可以在视图控制器内部 viewDidLoad() 使用 tabBarItem.title = "..." 设置它们。 进一步阅读:https://developer.apple.com/documentation/uikit/uitabbarcontroller