NavigationBar 色差解决方法

NavigationBar 色差解决方法

NavigationBar 设置背景颜色的普遍方法

在navigationBar中设置背景颜色普遍如下。

  [self.navigationController.navigationBar setTintColor:Color(r, g, b)]

然后设置BarButtonItem背景时 又普遍如下。

  self.navigationItem.leftBarButtonItem = [UIBarButtonItem 
itemWithImageName:@"Navigation_Scan" highImageName:@"Navigation_Scan" 
target:self action:@selector(leftBarButtonItemClick:)];

  self.navigationItem.rightBarButtonItem = [UIBarButtonItem 
itemWithImageName:@"Navigation_Search" highImageName:@"Navigation_Search" 
target:self action:@selector(rightBarButtonItemClick:)];

这样就参数了问题

这样操作的话,你从设计稿中截取的图片会和你在模拟器上显示的图片有色差,而且背景颜色也不是一直都是一个颜色,也会产生色差。所以就会产生如下效果:

7BF44703-5E1E-4FFA-BF9B-DB60D6CA0284.png

注意看右上角的图片的背景 颜色有明显的色差。

解决办法

解决办法思路如下。

  1. 在设计稿上截取小1个px的图片
  2. 把该图片平铺到navigationbar上,当backgroundImage。
[self.navigationController.navigationBar setBackgroundImage:[UIImage 
imageNamed:@"Navigation_BackgroundImage"] forBarMetrics:UIBarMetricsDefault];

你可能感兴趣的:(NavigationBar 色差解决方法)