背景色差,产生原因是如果单纯的设置背景颜色也是有高斯模糊处理的效果,对纯色高斯模糊处理过后相当于纯色的70%(猜测)透明化处理,但是反正就是有色差啦。
解决方法一:
通过图片方法
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"Navigation_BackgroundImage"] forBarMetrics:UIBarMetricsDefault];
方法二:
self.navigationController.navigationBar.translucent = NO;// Bar的模糊效果,默认为YES
下方黑色边框消除方法:
[[UINavigationBar appearance] setBackgroundImage:[[UIImage alloc] init] forBarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault]; [[UINavigationBar appearance] setShadowImage:[[UIImage alloc] init]];
设置阴影:
[[UINavigationBar appearance] setShadowImage:[[UIImage alloc] init]];
时间: 2024-11-05 21:36:46