具有阴影的导航栏
在导航栏下方添加阴影效果
实现过程
(1)创建一个项目
(2)创建一个基于UINavigationController类的Navigation类
(3)打开Navigation.m文件,在viewDidLoad方法中,编写代码,实现为导航栏添加阴影
-(void)viewDidLoad
{
[super viewDidLoad];
//Do any additional setup after loading the view.
[[UINavigationBar appearance] setBackgroundColor:[UIColor blueColor]];
self.navigationBar.layer.masksToBounds = NO;
//设置阴影高度
self.navigationBar.layer.shadowOffset = CGSizeMake(0,3);
//设置透明度
self.navigationBar.layer.shadowOpacity = 0.8;
//设置阴影位置
self.navigationBar.layer.shadowPath = [UIBezierPathWithRect:self.navigationBar.bounds].CGPath;
}
(4)打开Main.storyboard文件,将画布中的View Controller视图控制器删除,添加Navigation Controller导航控制器,将Class设置成Navigation,将Is Initial View Controller复选框选中
该代码中需要
(1)设置阴影偏移量,需要使用CALayer的shadowOffset方法:
@property CGSize shadowOffset;
(2)设置阴影透明度
透明度可以使阴影变浅或变深,要设置阴影透明度,需要使用CALayer的shadowOpacity方法:
@property float shadowOpacity;
(3)设置阴影路径,需要使用CALayer的shadowPath属性
@property CGPathRef shadowPath;
唐隽