1

我希望能够在选择时更改 UITabBarItem 上突出显示的状态图像?是否可以继承和访问它?还是我需要滚动自己的导航代码?

-> 开始编辑我之前没有明确说明我在寻找什么。我正在寻找设备添加到 UITabBar 的选定状态/图像的半透明白色覆盖参考。看图!http://solomon71.com/images/UITabBarItem.png

4

2 回答 2

2

没有记录或支持的方式来设置您自己的突出显示图像。话虽如此,在 2.2 中,您可以通过继承 UITabBarItem 并实现-[UIImage *)selectedImage.

严格来说,您不是在调用私有 API,因为 selectedImage 不是保留的方法名称(实际上是一个相当合理的名称供某人使用)。话虽如此,我确信这不是故意的,它可能会在未来的版本中随时中断。如果这已经在 3.x 中被破坏,我不会感到震惊(我从未发布过任何这样做的东西,只是为客户进行了试验)。

于 2009-11-08T22:28:28.433 回答
1

试试这个。

我已经更改了选定的 tabbatitem 图像,例如 -

在标签栏控制器委托方法中

- (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"]];
于 2013-02-28T10:52:58.663 回答