-4

我知道如何添加UITabBarController以及如何使用它,我已经做到了。

我的问题是我无法'more'UITabBarController.
我知道有很多与我类似的问题,但对我没有帮助。
谷歌搜索后,我发现我们无法在'More'选项卡上添加图像,UITabBarController因为选项卡是由何时more自动显示的,然后 5。UITabBarControllerUITabBarItem
我可以找到如何更改按钮的选择颜色和标题 'more',但我找不到'more'按钮图像。

所以可能我需要自定义UITabBarController,我也在寻找自定义UITabBarController但找不到它。

请帮助我解决这个问题。

4

3 回答 3

5

当 iPhone 中的选项卡超过 5 个时,会自动生成更多按钮。所以你不能那样做。UIView相反,您应该在和UIButtons的帮助下创建一个自定义标签栏。

看看如何UIViewControllerself.view.

[self addChildViewController:yourViewController];
yourViewController.view.frame = anyFrame;
[self addSubview:yourViewController.view];
[yourViewController didMoveToParentViewController:self];

UIViewController这样,您可以在每个按钮的单击上添加不同的内容。一切顺利!

好吧,如果您不想自己创建它。下面是自定义选项卡列表,找到适合您要求的选项卡。

  1. AKTabBarController
  2. 无限标签栏
  3. 凸起的中心标签栏
  4. MHTabBar控制器
  5. TweetBotTabBar
  6. ALCustomTabBarController
  7. MHCustomTabBarController
  8. M13InfiniteTabBar
  9. TabBarKit
  10. RNSwipeBar
  11. BCTabBar控制器
  12. TabBar动画
  13. 可扩展标签栏
  14. JBTabBarController
  15. JSScrollableTabBar
  16. NGTabBar控制器
  17. crtabbar
  18. VSTabBar
  19. DMFilterView
  20. CubeTabBarController
  21. FSVerticalTabBarController
  22. 漂亮套件
于 2013-06-26T04:26:24.243 回答
2

您可以为每个项目添加图像,用于选定和未选定状态。像这样:

UIImage *selectedImage0     = [UIImage imageNamed:@"image1.png"];
UIImage *unselectedImage0   = [UIImage imageNamed:@"image1_unselected.png"];

UIImage *selectedImage1     = [UIImage imageNamed:@"image2.png"];
UIImage *unselectedImage1   = [UIImage imageNamed:@"image2_unselected.png"];

UIImage *selectedImage2     = [UIImage imageNamed:@"image3.png"];
UIImage *unselectedImage2   = [UIImage imageNamed:@"image3_unselected.png"];

UIImage *selectedImage3     = [UIImage imageNamed:@"image4.png"];
UIImage *unselectedImage3   = [UIImage imageNamed:@"image4_unselected.png"];

UIImage *selectedImage4     = [UIImage imageNamed:@"image5.png"];
UIImage *unselectedImage4   = [UIImage imageNamed:@"image5_unselected.png"];

UITabBar     *tabBar = self.tabBarController.tabBar;
UITabBarItem *item0  = [tabBar.items objectAtIndex:0];
UITabBarItem *item1  = [tabBar.items objectAtIndex:1];
UITabBarItem *item2  = [tabBar.items objectAtIndex:2];
UITabBarItem *item3  = [tabBar.items objectAtIndex:3];
UITabBarItem *item4  = [tabBar.items objectAtIndex:4];

[item0 setFinishedSelectedImage:selectedImage0 withFinishedUnselectedImage:unselectedImage0];
[item1 setFinishedSelectedImage:selectedImage1 withFinishedUnselectedImage:unselectedImage1];
[item2 setFinishedSelectedImage:selectedImage2 withFinishedUnselectedImage:unselectedImage2];
[item3 setFinishedSelectedImage:selectedImage3 withFinishedUnselectedImage:unselectedImage3];
[item4 setFinishedSelectedImage:selectedImage4 withFinishedUnselectedImage:unselectedImage4];

您可以将此代码放在任何控制器的 viewDidLoad 方法中。

希望它对你有用谢谢!

于 2013-06-26T06:35:43.363 回答
1

尝试从 TabBarController 创建超过 5 个 segues 到其他人,然后你会看到更多按钮。在您连接的每个控制器的 TabBar 项上添加图像,您将在主 TabBar 上看到此选项卡项的图标

于 2013-06-26T04:22:50.847 回答