UI导航栏中的图像

时间:2014-01-18 19:22:50

标签: ios uiimage uibarbuttonitem

我试图将图片放到UI导航栏上,并面对一些色调问题。图像是40 * 40,透明度(png)。

xcode中的图像如下所示:

logo

当我作为UI栏按钮项目的图像放置时,它显示为:

navigation bar

注意颜色是如何变化的。应用程序的默认颜色为棕色,因此默认的色调是闪亮的。

如何显示图像的原始颜色?

由于

编辑:

宽高比问题:

enter image description here

2 个答案:

答案 0 :(得分:5)

取自苹果文档:

UIImageView包含tintColor属性。当图像视图包含模板图像时 - 即指定UIImageRenderingModeAlwaysTemplate渲染模式的图像-tintColor应用于图像。

因此,您需要将图像的渲染模式设置为:UIImageRenderingModeAlwaysOriginal

UIImage *originalImage = [UIImage imageNamed:@"navBarImage.png"];
originalImage = [originalImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
//Then apply the image to the navigation bar

如果你正在开发iOS应用程序似乎就是这种情况,那么我建议让你的图像以它显示atm的方式,因为它看起来比使用你的origianl图像更平坦。这只是我的意见,我觉得它更清晰干净。

答案 1 :(得分:1)

夫特:

let customImageBarButton = UIBarButtonItem(UIImage(named: "someImage.png").withRenderingMode(.alwaysOriginal), style: .plain, target: self, action: #selector(handleClick)) 

22pt x 22pt图标大小效果更好。

即。适用于iPhone Plus手机的66px x 66px图像@ 3x等。