我正在像这样自定义 UINavigationBar:
UIImage * img = [UIImage imageNamed:@"background.png"];
[[UINavigationBar appearance] setBackgroundImage:img forBarMetrics:UIBarMetricsDefault];
我的原始图像background.png
如下所示:
它有一个平坦的颜色#4b0367
生成的 NavigationBar 如下所示:
它的颜色#311253
和原来的不一样!显然 UIKit 改变了颜色。
笔记:
- 设置
tintColor
没有效果。 - 在我的情况下,设置透明背景图像 + 颜色不是合适的解决方案。
有人知道底层机制是如何工作的吗?如何让原始图像正确显示?