我希望能够在选择UITabBarItem时更改突出显示的状态图像吗?是否可以子类化并访问它?或者我需要滚动自己的导航代码吗?
- >开始编辑 我没有清楚地表达我之前想要的东西。我正在寻找设备添加到UITabBar的选定状态/图像的半透明白色覆盖参考。看图像! http://solomon71.com/images/UITabBarItem.png
答案 0 :(得分:2)
没有记录或支持的方式来设置您自己的高亮显示的图像。话虽如此,在2.2中你可以通过继承UITabBarItem并实现-[UIImage *)selectedImage
来实现。
严格来说,您不是在调用私有API,因为selectedImage不是保留的方法名称(实际上是某个人使用自己的合理名称)。话虽如此,我确信这不是预期的,它可能会在未来的版本中随时中断。如果在3.x中已经破坏了我就不会感到震惊(我从来没有发过任何这样的东西,只是为客户进行过实验)。
答案 1 :(得分:1)
尝试这个。
我更改了选定的tabbatitem图像,如 -
tabbar控制器委托方法中的
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
if([tabBarController selectedIndex] == 0)
{
[viewController.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"selected.png"]withFinishedUnselectedImage:[UIImage imageNamed:@"unselect.png"]];
}
}
通过这个你可以改变你的形象。
或者您可以直接在视图控制器init(或ViewWillAppear)方法中使用,例如
[viewController.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"selected.png"]withFinishedUnselectedImage:[UIImage imageNamed:@"unselect.png"]];