如何在选项卡栏控制器中放置更多 5 个选项卡?

问题描述 投票:0回答:3

:D

我有一个带有 TabBarController 的故事板,但是当我与其他人建立关系时,mi 选项卡栏中的七个视图控制器会出现一个“更多”选项卡,我怎样才能将这七个选项卡放在一个选项卡中?

我必须手动操作吗?与 tabbarcontroller 类?或在 uiviewcontroller 中实现 Tabbar Delegate,但我不知道如何做到这一点。

非常感谢你! 请帮我。

再次感谢。

uitabbarcontroller tabbar tabbarcontroller
3个回答
2
投票

我相信Apple积极劝阻人们在他们的应用程序中这样做,我也是如此。iOS本身从未这样做过,我也从未在任何第三方应用程序中见过它,所以用户可能会感到困惑。

如果向 viewControllers 属性添加五个以上的项目, 标签栏控制器自动插入特殊的视图控制器 (称为更多视图控制器)来处理 附加项目。更多视图控制器提供自定义界面 列出了表中的附加视图控制器,可以 扩展以容纳任意数量的视图控制器。更多视图 控制器无法自定义或选择,并且不会出现在任何 由选项卡栏控制器管理的视图控制器列表。为了 大多数情况下,它会在需要时自动出现 与您的自定义内容分开。你可以参考一下 尽管通过访问 moreNavigationController 属性 UITabBarController.

另请参阅此链接以获取可能的解决方法!


0
投票

您可以使用任何开源自定义 UITabbarControler 或创建您自己的。 正如在此开源代码中创建的那样。 JFTabBarController Cocoa Controls 上的自定义标签栏控制器


0
投票

在 UITabBarController 上使用名为 _customMaxItems 的私有属性

示例:

class CustomTabBarController: UITabBarController {

    var customMaxItems: CGFloat {
        get {
            return self.value(forKey: "_customMaxItems") as! CGFloat
        }

        set {
            self.setValue("_customMaxItems", forKey: key)
        }
    }

    override func viewDidLoad() {
        super.viewDidLoad() 

        self.defaultMaxItems = 10
    }

}

© www.soinside.com 2019 - 2024. All rights reserved.