码迷,mamicode.com
首页 > 其他好文 > 详细

view添加阴影无效

时间:2016-09-07 19:05:18      阅读:297      评论:0      收藏:0      [点我收藏+]

标签:

需求:需要给cell里的imageview添加阴影

问题:按照标准的代码添加阴影,然并卵:代码如下:

    imageview.layer.shadowColor = [[UIColor blackColor] CGColor];
    imageview.layer.shadowOffset = CGSizeMake(4.0f, 4.0f);
    imageview.layer.shadowRadius = 4.0;
    imageview.layer.shadowOpacity = 0.5;

后谷歌说要加一句:

imageview.layer.masksToBounds = NO;,因为阴影是在imagview的layer外面画的

这样阴影出来了,然而,由于允许子元素超出父元素,所以图片的大小就不一样了

 

因此歪果仁提出了一个办法,创建两层view,内层view是imageview,不允许超出边界,外层view是shadowview,ref:

http://www.innofied.com/implementing-shadow-ios/(这个是为了解决圆角view+阴影的问题)

代码:

CALayer *sublayer = [[CALayer layer]initWithLayer:self.imageView.layer];

    UIView * shadow = [[UIView alloc] initWithFrame:self.imageView
                       .frame];
    shadow.userInteractionEnabled = NO; // Modify this if needed
    shadow.layer.shadowColor = [[UIColor blackColor] CGColor];
    shadow.layer.shadowOffset = CGSizeMake(4.0f, 4.0f);
    shadow.layer.shadowRadius = 4.0;
    shadow.layer.masksToBounds = NO;   //关键
    shadow.clipsToBounds = NO;
    shadow.layer.shadowOpacity = 0.5;
    [ self.imageView.superview insertSubview:shadow belowSubview: self.imageView];
    [shadow addSubview:self.imageView];

 

view添加阴影无效

标签:

原文地址:http://www.cnblogs.com/lucky-star-star/p/5850445.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!