美文网首页
为控件增加阴影、圆角阴影

为控件增加阴影、圆角阴影

作者: Nedoloroso | 来源:发表于2019-07-05 16:26 被阅读0次

    有时做需求的时候,产品会要求这里加个圆角,那里加个阴影,还会同时需要圆角阴影,没处理过这种情况的时候第一时间还是会有点头疼的,这里给大家分享一个自己写的分类,包含有单独设置阴影以及同时设置圆角+阴影的两个方法
    https://github.com/Nedoloroso/categoryForCornerShadow

    /**
     为控件增加阴影
    
     注:控件clipsToBounds必须为NO
     
     @param shadowColor 阴影颜色
     @param shadowOpacity 阴影透明度
     @param shadowValue 阴影扩散距离
     */
    - (void)addShadow:(UIColor *)shadowColor
        shadowOpacity:(float)shadowOpacity
          shadowValue:(CGFloat)shadowValue
    {
        self.layer.shadowColor = shadowColor.CGColor;
        self.layer.shadowOpacity = shadowOpacity;
        self.layer.shadowRadius = shadowValue;
        self.layer.shouldRasterize = YES;
        self.layer.shadowOffset = CGSizeMake(0, 0);
        self.layer.rasterizationScale = [UIScreen mainScreen].scale;
    }
    
    /**
     为控件增加阴影(带圆角)
     
     注:控件clipsToBounds必须为NO
     
     @param shadowColor 阴影颜色
     @param shadowOpacity 阴影透明度
     @param shadowValue 阴影扩散距离
     */
    - (void)addShadow:(UIColor *)shadowColor
        shadowOpacity:(float)shadowOpacity
          shadowValue:(CGFloat)shadowValue
         cornerRadius:(CGFloat)cornerRadius
    {
        self.layer.cornerRadius = cornerRadius;
        [self addShadow:shadowColor shadowOpacity:shadowOpacity shadowValue:shadowValue];
    }
    
    • 需要注意的是控件本身的clipsToBounds必须为NO,否则不生效
    • 对于阴影透明度和扩散距离可以通过ziplin或者蓝湖获取,如果没有那就问下UI同学吧

    相关文章

      网友评论

          本文标题:为控件增加阴影、圆角阴影

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