【问题标题】:UItabBarItem highlight state imageUItabBarItem 高亮状态图片
【发布时间】:2009-11-08 22:10:43
【问题描述】:

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

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

【问题讨论】:

  • 你能在标签被选中或取消选中时交换图标吗?

标签: iphone uitabbar uitabbaritem


【解决方案1】:

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

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

【讨论】:

  • 感谢您提供此信息。在 3.0 模拟器中,这仍然有效。请参阅我编辑的问题。
【解决方案2】:

试试这个。

我已经更改了选定的 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"]];

【讨论】:

    猜你喜欢
    • 2011-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-06
    • 2014-11-01
    • 2012-08-17
    • 1970-01-01
    • 2014-11-03
    相关资源
    最近更新 更多