ios - 需要带有alpha但没有半透明模糊的导航栏

时间:2014-07-20 20:19:57

标签: ios ios7 uinavigationbar

是否可以将导航栏设置为黑色,使用0.80f alpha,并且没有半透明模糊?酒吧后面会有看法吗?

到目前为止,我已经尝试将背景设置为带有alpha的图像。然而,背景仍然看起来有点不透明,我看不到栏后面的观点......除非我将半透明设置为YES。但是将半透明设置为YES也会增加模糊,这是我不想要的。

这就是我正在做的事情:

CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);

UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();

CGContextSetFillColorWithColor(context, [UIColor colorWithWhite:RGBValue(0.0f) alpha:0.80f].CGColor);
CGContextFillRect(context, rect);

UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

[[UINavigationBar appearance] setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];

 UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:[MyViewController new]];
 [navController.navigationBar setTranslucent:NO];

1 个答案:

答案 0 :(得分:1)

啊,我想我解决了。我只需将半透明设置为YES即可使用。

似乎如果导航栏设置了背景图像,则将半透明设置为YES将允许显示背景图像,而不会实际添加任何模糊。这正是我想要的。