iOS設置圖片圓角

PS:記錄自己工作學習中的一些知識;

一、UIImageView

  • iOS9之后:
    UIImageView使用以下方法是不會觸發(fā)離屏渲染,所以如果不適配iOS9以前的版本得話,大可放心使用;
imageView.layer.cornerRadius = 30; 
imageView.layer.masksToBounds = YES;
  • 適配iOS9之前的版本建議使用以下方法,使用CPU渲染,渲染得到的bitmap最后再交由GPU用于顯示,得到的結果是一樣的;
/**
 * On-screen-renderring繪制UIImage矩形圓角
 */
- (UIImage *)imageWithCornerRadius:(CGFloat)radius ofSize:(CGSize)size{
    /* 當前UIImage的可見繪制區(qū)域 */
    CGRect rect = (CGRect){0.f,0.f,size};
    /* 創(chuàng)建基于位圖的上下文 */
    UIGraphicsBeginImageContextWithOptions(size, NO, UIScreen.mainScreen.scale);
    /* 在當前位圖上下文添加圓角繪制路徑 */
    CGContextAddPath(UIGraphicsGetCurrentContext(), [UIBezierPath bezierPathWithRoundedRect:rect cornerRadius:radius].CGPath);
    /* 當前繪制路徑和原繪制路徑相交得到最終裁剪繪制路徑 */
    CGContextClip(UIGraphicsGetCurrentContext());
    /* 繪制 */
    [self drawInRect:rect];
    /* 取得裁剪后的image */
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    /* 關閉當前位圖上下文 */
    UIGraphicsEndImageContext();
    return image;
}

  • 美工切圖(可以讓美工切一張圓角的遮罩圖,蓋上去,也是很不錯的)

二、UILabel設置圓角

請參考的我另一篇文章有說明,鏈接奉上:http://www.itdecent.cn/p/08ef6e3f922b

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容