iOS设置圆角矩形和阴影效果

1.设置圆角矩形

    

复制代码
     //设置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];
复制代码

悬浮的感觉出来了吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值