UIButton
//加阴影--任海丽编辑
//shadowColor阴影颜色
_imageView.layer.shadowColor = [UIColor blackColor].CGColor;
//shadowOffset阴影偏移,x向右偏移4,y向下偏移4,默认(0, -3),这个跟shadowRadius配合使用
_imageView.layer.shadowOffset = CGSizeMake(4,4);
//阴影透明度,默认0
_imageView.layer.shadowOpacity = 0.8;
//阴影半径,默认3
_imageView.layer.shadowRadius = 4;
UITableView
_tableView.layer.shadowOffset = CGSizeMake(0, 0);
_tableView.layer.shadowColor = [UIColor blackColor].CGColor;
_tableView.layer.shadowOpacity = 0.8;
_tableView.separatorColor = [UIColor colorWithWhite:0.3 alpha:1];
_tableView.clipsToBounds = NO;
clipsToBounds
是指视图上的子视图,如果超出父视图的部分就截取掉,
masksToBounds
却是指视图的图层上的子图层,如果超出父图层的部分就截取掉
然而,这种最简单的添加阴影的方法在性能上却不是最佳途径。如果对这个添加阴影的View(如果它是一个UITableViewCell的一部分)做一些动画,您可能会注意到在动画不是很流畅,有卡顿。这是因为计算阴影需要Core Animation做一个离屏渲染,以View准确的形状确定清楚如何呈现其阴影。
只要你提前告诉CoreAnimation你要渲染的View的形状Shape,就会减少离屏渲染计算
[myView.layer setShadowPath:[[UIBezierPath bezierPathWithRect:myView.bounds] CGPath];
加上这行代码,就减少离屏渲染时间,大大提高了性能