繁体   English   中英

自定义iOS UINavigationBar / UITabBar并删除色调颜色

[英]Custom iOS UINavigationBar/UITabBar and removing Tint Colors

我正在进行一个项目,我需要创建一个自定义UINavigationBarUITabBar 我的问题在于物品的颜色(浅色!)。 我不希望我的物品有任何色彩。 我试图把它弄清楚颜色,但这只会让它消失(变得透明)。

所以,总结一下,我有自己的酒吧项目图片,每个都包含自己特定的颜色。 我已经读过,为了做我想做的事情,我必须将我的UIBar子类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 所以我还在那里泡菜......

问题是前一段时间被问到的,但我在google中找到了它,所以其他人也可能会发现它:)

答案是使用这个方法UITabBarItem(title:, image:, selectedImage:)

使图像打开始终原始的渲染模式

image.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)

希望有所帮助!

好的,我想我明白了! 解决方案是使用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 所以我还在那里泡菜......

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM