iOS设置圆角矩形和阴影效果
2015-10-22 11:28
549 查看
1.设置圆角矩形
这里masksToBounds或者clipsToBounds的设置是对父视图设置,设置后对子视图超出部分裁减掉(否则子视图还是会遮住圆角)。
2.设置阴影:
在通过这样的方式设置阴影时,必须把父视图的masksToBounds属性关掉,因为阴影设置的方式就是加offset给超出视图部分设置颜色来实现的,一旦不让子视图超出,阴影也就看不出了。
3.圆角+阴影
如果上面的方法一起用,把masksToBounds开了,阴影无法显示,关了的话其上的View又会遮住圆角。解决的方式只能是再加一层layer。
悬浮的感觉粗来了把。
//设置dropview属性 _dropView.backgroundColor=[[UIColor whiteColor] colorWithAlphaComponent:0.8]; _dropView.layer.cornerRadius = 8; _dropView.layer.masksToBounds = YES;//(或者_dropView.clipsToBounds=YES;)
这里masksToBounds或者clipsToBounds的设置是对父视图设置,设置后对子视图超出部分裁减掉(否则子视图还是会遮住圆角)。
2.设置阴影:
_dropView.layer.shadowColor=[[UIColor grayColor] colorWithAlphaComponent:0.8].CGColor; _dropView.layer.shadowOffset=CGSizeMake(10,10); _dropView.layer.shadowOpacity=0.5; _dropView.layer.shadowRadius=8; // _dropView.layer.masksToBounds = YES;
在通过这样的方式设置阴影时,必须把父视图的masksToBounds属性关掉,因为阴影设置的方式就是加offset给超出视图部分设置颜色来实现的,一旦不让子视图超出,阴影也就看不出了。
3.圆角+阴影
如果上面的方法一起用,把masksToBounds开了,阴影无法显示,关了的话其上的View又会遮住圆角。解决的方式只能是再加一层layer。
_dropView.backgroundColor=[[UIColor whiteColor] colorWithAlphaComponent:0.8]; _dropView.layer.cornerRadius = 8; _dropView.layer.masksToBounds = YES; CALayer *subLayer=[CALayer layer]; CGRect fixframe=_dropView.layer.frame; fixframe.size.width=[UIScreen mainScreen].bounds.size.width-40; subLayer.frame=fixframe; subLayer.cornerRadius=8; subLayer.backgroundColor=[[UIColor grayColor] colorWithAlphaComponent:0.5].CGColor; subLayer.masksToBounds=NO; subLayer.shadowColor=[UIColor grayColor].CGColor; subLayer.shadowOffset=CGSizeMake(10,10); subLayer.shadowOpacity=0.5; subLayer.shadowRadius=8; [self.layer insertSublayer:subLayer below:_dropView.layer];
悬浮的感觉粗来了把。
相关文章推荐
- IOS—两个ViewController间传值
- iOS开发之ViewController页面跳转和弹出模态
- 关于iOS的自动化测试
- 【iOS】系统地图MapKit服务
- iOS 知识大全
- iOS 9适配系列教程
- iOS 9 适配出现的问题
- iOS 蓝牙编程
- Xocde7 里面Xib的使用
- iOS 中数字的格式化处理
- iOS开发 实战篇---Xcode7免费真机测试流程
- IOS- 如何集成支付宝
- iOS 状态蓝颜色设置和隐藏
- iOS GCD多线程使用
- 静态库
- iOS 写SDK注意事项
- 集成支付宝支付功能写的很详细(转)
- 项目适配iOS9遇到的一些问题及解决办法
- ios 打开图片库和相机选择图片界面英文修改为简体中文
- iOS 系统自带的文本转语音