CALayer阴影和半透明的UINavigationBars

时间:2012-04-06 06:25:03

标签: iphone ios cocoa-touch quartz-2d dropshadow

我有一个半透明的导航栏,正在使用导航控制器进行渲染。

我想在它下面添加一个阴影,但是,当渲染阴影时,它似乎也会在导航栏中绘制它。

这很烦人,我想呈现导航栏下方阴影的一部分。

以下是渲染阴影的代码:

    navController.navigationBar.layer.shadowColor = [[UIColor blackColor] CGColor];

    navController.navigationBar.layer.masksToBounds = NO;
    navController.navigationBar.layer.shadowPath = [UIBezierPath bezierPathWithRect:CGRectMake(0, 0, 320, 44)].CGPath;
    navController.navigationBar.layer.shadowOpacity = 1.0f;
    navController.navigationBar.layer.shadowRadius = 2.0f;
    navController.navigationBar.layer.shadowOffset = CGSizeMake(0, 0);

    navController.navigationBar.barStyle = UIBarStyleBlackTranslucent;

这是我想要实现的(在图像编辑器中创建): enter image description here

然而,这是实际呈现的内容: enter image description here

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:0)

[self.navigationController.navigationBar setTintColor:[UIColor colorWithRed:(132.0/255) green:(132.0/255) blue:(132.0/255) alpha:1.0]];

根据您的要求尝试更改参数。

相反,我建议采用链接方法既有益又有标准。 http://sebastiancelis.com/2009/12/21/adding-background-image-uinavigationbar/

来源: https://github.com/scelis/ExampleNavBarBackground