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

代碼demo已在Github開源, MXCornerRadius 若是幫助到您,點個星star哈!git

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

對象結構

Structure.png

屏幕截圖

avatarImgView.mxCornerRadius=xxXX改變時,單個imgView實時顯示圓角image imgView.mxDisableRoundImageCache = NO, 默認是NO,緩存圖片,高 FPS imgView.mxDisableRoundImageCache = YES, 不緩存圖片

如何使用

常規使用

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對象已經緩存的圓角圖片,它們是一個集合類型。spa

[MXRoundImageCacheManager sharedManager].shouldPrintDebugLogForRoundImageCache = YES;
複製代碼
相關文章
相關標籤/搜索