代碼demo已在Github開源, MXCornerRadius 若是幫助到您,點個星star哈!git
MXCornerRadius
只需1行代碼讓你的imageView
有任意的cornerRadius圓角!github
當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;`
複製代碼
默認是 NO
,啓用緩存,MXImageObserver
緩存圓角圖片是爲了提升FPS幀率;當設置爲YES
, 禁用緩存,當imageView
有新的圖片或者mxCornerRadius
改變或者contentMode
改變,CPU每一次都會從新生成圓角圖片,老iPhone估計會影響性能,因此建議用默認設置(啓用緩存),可是要注意當- [imageView dealloc] 調用後
,與imageView
綁定的MXObserver
對象也會被銷燬,那麼它緩存的全部圓角圖片也會隨之銷燬,所以不可能有內存泄漏!具體看demo
.性能
avatarImageView.mxDisableRoundImageCache = YES;
複製代碼
默認是 NO
,不打印信息,避免影響生產環境的性能,但在demo中已手動設置爲YES
;當設置爲YES
時,控制檯會實時監聽緩存圖片的變化,如增長緩存,以及當- [imageView dealloc]
調用後,緩存會被刪除,打印出當前imageView.MXImageObserver
對象已經緩存的圓角圖片以及其餘imageView.MXImageObserver
對象已經緩存的圓角圖片,它們是一個集合類型。spa
[MXRoundImageCacheManager sharedManager].shouldPrintDebugLogForRoundImageCache = YES;
複製代碼