我正处于一个需要同时创建自定义UINavigationBar
和UITabBar
的项目中。
我的问题在于物品的颜色(浅色!)。
我不希望我的物品有任何色彩。我试图用它来清除颜色,但这只会让它消失(变得透明)。
所以,总结一下,我有自己的酒吧项目图片,每个都包含自己的特定颜色。我已经读过,为了做我想做的事情,我必须继承我的UIBar
,但我没有比这更多的信息。我应该在子类中修改什么来摆脱那种色彩约束?谢谢。
编辑: 色调颜色不应用于项目,而是应用于条形图(所以所有项目)。所以我的问题是我需要特定颜色的物品
编辑2:
好的,我想我明白了!解决方案是使用UIBarButtonItem
方法:initWithCustomView:
UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom];
backBtn.bounds = CGRectMake( 0, 0, 26, 26);
[backBtn setImage:[UIImage imageNamed:@"BackBtn.png"] forState:UIControlStateNormal];
[backBtn addTarget:self.navigationController action:@selector(popViewControllerAnimated:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:backBtn];
self.navigationItem.leftBarButtonItem = item;
但这仅适用于UINavigationBar
,因为它需要UIBarButtonItem
。另一方面,UITabBar
只需UITabBarItem
,但不符合initWithCustomView
。所以我还在那里腌制......
答案 0 :(得分:5)
前一段时间问了这个问题,但是我在google中发现了这个问题,所以其他人也可能会发现它:)
答案是使用这种方法
UITabBarItem(title:, image:, selectedImage:)
图像打开始终原始渲染模式
image.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
希望有所帮助!
答案 1 :(得分:3)
好的,我想我明白了!解决方案是使用UIBarButtonItem
方法:initWithCustomView:
UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom];
backBtn.bounds = CGRectMake( 0, 0, 26, 26);
[backBtn setImage:[UIImage imageNamed:@"BackBtn.png"] forState:UIControlStateNormal];
[backBtn addTarget:self.navigationController action:@selector(popViewControllerAnimated:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:backBtn];
self.navigationItem.leftBarButtonItem = item;
但这仅适用于UINavigationBar
,因为它需要UIBarButtonItem
。另一方面,UITabBar
只需UITabBarItem
,但不符合initWithCustomView
。所以我还在那里腌制......