我正在定制一个UINavigationBar,如下所示:
UIImage * img = [UIImage imageNamed:@"background.png"];
[[UINavigationBar appearance] setBackgroundImage:img forBarMetrics:UIBarMetricsDefault];
我原来的图片 background.png
看起来像这样:
它有一个扁平的颜色 #4b0367
生成的NavigationBar如下所示:
它的颜色 #311253
与原版不同!显然UIKit会改变颜色 .
注意:
-
设置
tintColor
无效 . -
在我的情况下,设置透明背景图像颜色不是合适的解决方案 .
有人知道底层机制是如何运作的吗?如何才能使原始图像正确显示?