自定义UITabBar更多的UIBarButtonItem(Customize the More U

2019-06-27 10:47发布

由于iOS 5的苹果公司提供的API来定制UITabBarItemsUITabBar对象。 我特别指的以下选择:

setFinishedSelectedImage:withFinishedUnselectedImage:

这一切的伟大工程进行定期按钮,但我似乎无法自定义“更多”按钮,以配合其他的风格。 这是我在做什么:

tabBarController.viewControllers = tabBarControllerArray;
    tabBarController.moreNavigationController.navigationBar.tintColor = [UIColor blackColor];
    UITabBarItem *more = tabBarController.moreNavigationController.tabBarItem;
     if ([more respondsToSelector:@selector(setFinishedSelectedImage:withFinishedUnselectedImage:)]){
        [more setFinishedSelectedImage:[UIImage imageNamed:@"BarIcon-More.png"]
           withFinishedUnselectedImage:[UIImage imageNamed:@"BarIcon-More.png"]
         ];
    } else {
        more.image = [UIImage imageNamed:@"BarIcon-More.png"];
    }

结果如下,它不接送我的自定义更多张图像。

我见过很多黑客更换更按钮,但也一定是这样做的权利的更好的办法?

Answer 1:

该解决方案是愚蠢的。

我以为UITabBarItemsmoreNavigationController是只读的,事实并非如此。 所以,简单地执行以下操作:

tabBarController.moreNavigationController.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"More" image:[UIImage imageNamed:@"BarIcon-More.png"] tag:0];

和上述相同的定制代码工作。



文章来源: Customize the More UIBarButtonItem in UITabBar