MXCornerRadius 只需1行程式碼讓你的UIImageView 有任意的cornerRadius圓角!

穿山甲到底說了什麼發表於2018-12-19

程式碼demo已在Github開源, MXCornerRadius 如果幫助到您,點個星star哈!

MXCornerRadius 只需1行程式碼讓你的imageView 有任意的cornerRadius圓角!

物件結構

Structure.png

螢幕截圖

avatarImgView.mxCornerRadius=xxXX改變時,單個imgView實時顯示圓角image imgView.mxDisableRoundImageCache = NO, 預設是NO,快取圖片,高 FPS imgView.mxDisableRoundImageCache = YES, 不快取圖片
MXCornerRadius 只需1行程式碼讓你的UIImageView 有任意的cornerRadius圓角!
MXCornerRadius 只需1行程式碼讓你的UIImageView 有任意的cornerRadius圓角!
MXCornerRadius 只需1行程式碼讓你的UIImageView 有任意的cornerRadius圓角!

如何使用

常規使用

mxCornerRadius改變時,單個avatarImageView實時顯示圓角image

UIImageView *avatarImageView = [[UIImageView alloc] initWithFrame:CGRectMake(...)];
avatarImageView.image = [UIImage imageNamed:@"foo.png"];
`avatarImageView.mxCornerRadius = 10.0f;`
複製程式碼

mxDisableRoundImageCache

預設是 NO,啟用快取,MXImageObserver快取圓角圖片是為了提高FPS幀率;當設定為YES, 禁用快取,當imageView有新的圖片或者mxCornerRadius改變或者contentMode 改變,CPU每一次都會重新生成圓角圖片,老iPhone估計會影響效能,所以建議用預設設定(啟用快取),但是要注意當- [imageView dealloc] 呼叫後,與imageView繫結的MXObserver物件也會被銷燬,那麼它快取的所有圓角圖片也會隨之銷燬,因此不可能有記憶體洩漏!具體看demo.

avatarImageView.mxDisableRoundImageCache = YES;
複製程式碼

printDebugLogForRoundImageCache

預設是 NO,不列印資訊,避免影響生產環境的效能,但在demo中已手動設定為YES;當設定為YES時,控制檯會實時監聽快取圖片的變化,如增加快取,以及當- [imageView dealloc]呼叫後,快取會被刪除,列印出當前imageView.MXImageObserver物件已經快取的圓角圖片以及其他imageView.MXImageObserver物件已經快取的圓角圖片,它們是一個集合型別。

[MXRoundImageCacheManager sharedManager].shouldPrintDebugLogForRoundImageCache = YES;
複製程式碼

相關文章