【发布时间】:2012-01-13 07:57:16
【问题描述】:
我正在开发一个购物车标签。最初我只是使用默认的徽章值来显示底部标签栏上的购物车中有多少商品。现在设计师想要花哨,他想根据购物车中的商品数量显示不同的图像。例如,如果有一个,显示cartTab-1.png,如果有2,显示cartTab-2.png...
我尝试更改tabaritem (UITabBarItem) 的图像,但它对我不起作用。可行吗?我和我的同事讨论过,他说我可能必须自己在 tabbarItem 顶部绘制图像。你有什么建议吗?谢谢
更多细节:
- 我使用InterfaceBuilder创建了tabItem,并在那里设置了图片和标题
- 我需要支持ios4。所以我不能使用 setSelectedImage...
- 在我的例子中,它是一个 KVO,如果购物车数量发生变化,它会通知更新图像的方法。不在初始化步骤中。
有人知道为什么[self.tabBarItem setImage:[UIImage imageNamed:@"cartxxx.png"]] 不起作用吗?当我调试时,属性确实发生了变化,但 UI 保持不变
更新
以下代码有效。谢谢大家!
UIImage* cartTabImage = [UIImage imageNamed:cartTabImageName];
[[self.tabBarController.tabBar.items objectAtIndex:3] setImage:cartTabImage];
【问题讨论】: