為控件增加陰影、圓角陰影

有時做需求的時候,產(chǎn)品會要求這里加個圓角,那里加個陰影,還會同時需要圓角陰影,沒處理過這種情況的時候第一時間還是會有點頭疼的,這里給大家分享一個自己寫的分類,包含有單獨設(shè)置陰影以及同時設(shè)置圓角+陰影的兩個方法
https://github.com/Nedoloroso/categoryForCornerShadow

/**
 為控件增加陰影

 注:控件clipsToBounds必須為NO
 
 @param shadowColor 陰影顏色
 @param shadowOpacity 陰影透明度
 @param shadowValue 陰影擴(kuò)散距離
 */
- (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 陰影擴(kuò)散距離
 */
- (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,否則不生效
  • 對于陰影透明度和擴(kuò)散距離可以通過ziplin或者藍(lán)湖獲取,如果沒有那就問下UI同學(xué)吧
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容