美文网首页
iOS OC 如何为masksToBounds = YES的Vi

iOS OC 如何为masksToBounds = YES的Vi

作者: Wougle | 来源:发表于2017-04-21 13:26 被阅读0次

    大家都知道,一旦把控件的masksToBounds属性设置为YES,那么控件的多余部分将被裁减。那如果我们需要在控件masksToBounds属性为YES的基础上添加阴影该怎么办呢?

    我想到的方法是,为该控件添加一层CALayer。代码如下

    - (void)setMidBaseView:(UIView *)midBaseView{

    midBaseView.layer.cornerRadius = 5.0f;

    midBaseView.layer.masksToBounds = YES;

    CALayer *subLayer = [CALayer layer];

    subLayer.frame = midBaseView.frame

    subLayer.cornerRadius = 5.0f;

    subLayer.backgroundColor = [UIColor clearColor].CGColor;

    subLayer.masksToBounds = NO;

    //todo 设置阴影

    [self.layer insertSublayer:subLayer below:midBaseView.layer];

    _midBaseView = midBaseView;

    }

    可以看到,我先为midBaseView添加了圆角,因此,midBaseView的maskToBounds属性已被设置成了YES,然后我为midBaseView添加了一层subLayer,并为此layer设置了阴影,即可达到我们需要的效果~

    相关文章

      网友评论

          本文标题:iOS OC 如何为masksToBounds = YES的Vi

          本文链接:https://www.haomeiwen.com/subject/chjdzttx.html