3

在 iPad 中使用垂直选项卡时,UITabBarController 似乎将选项卡的数量限制为 8。
但我想显示 9 个或更多选项卡。

起初,我只将第 1~7 个选项卡设置为 UITabBarController,
并在 UITabBarController 之外使用第 8 个和第 9 个选项卡,如下源代码。
它显示 9 个选项卡,但会导致一些问题,例如工具栏损坏、未经许可旋转等。

有什么方法可以正确显示 9 个或更多选项卡?

#define RT_TABMEMU_ITEM_MAX 8
#define RT_TABMEMU_ITEM_MAX_WITH_MORE 7

- (void)setSelectedViewController:(UIViewController *)selectedViewController {
    ...

// If the amount of viewController is less than 9, 
// or index of selectedViewController is 0~6, 
// set selectedViewController to UITabBarController
    if (!(RT_TABMEMU_ITEM_MAX < [self.viewControllers count]
          && RT_TABMEMU_ITEM_MAX_WITH_MORE <= [self.viewControllers indexOfObject:selectedViewController])) {
        [super setSelectedViewController:selectedViewController];
    }

    ...
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    UIViewController *selectedController = (self.viewControllers)[indexPath.row];

    if (self.selectedViewController != selectedController) {
        [self setSelectedViewController:selectedController];

    ...
4

1 回答 1

1

我建议你试试InfiniTabBar for iOS开源项目。有了它,您可以添加任意数量的选项卡。我在自己的项目中使用过它,非常好!

一切顺利!

它是在公共许可下发布的,或者正如作者所说的许可:

与往常一样,我的所有源代码都可以免版税使用到您的应用程序中。如果您将应用程序开源,请确保不要从源代码中删除版权声明。您不必在您的应用程序中归因于我,尽管如果您这样做我会很高兴。

于 2013-03-14T09:34:14.450 回答