MXCornerRadius 只需1行代码让你的UIImageView 有任意的cornerRadius圆角!

代码demo已在Github开源, MXCornerRadius 如果能帮助到您,请帮忙点个星star哈,谢谢!

MXCornerRadius 只需1行代码让你的imageView 有任意的cornerRadius圆角!

对象结构

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对象已经缓存的圆角图片,它们是一个集合类型。

[MXRoundImageCacheManager sharedManager].shouldPrintDebugLogForRoundImageCache = YES;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,867评论 1 32
  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,920评论 8 265
  • OC语言基础 1.类与对象 类方法 OC的类方法只有2种:静态方法和实例方法两种 在OC中,只要方法声明在@int...
    奇异果好补阅读 9,807评论 0 11
  • 这几天真的是与以往有些个不同我每一天都在一个地方长久地徘徊 我就是不停地重复一些步伐不停地说着一些话 谁也不知道我...
    王春涞阅读 1,643评论 2 8
  • 早上小姑娘感冒了,没去上班。 我在想,该如何处理工作和家庭的关系。这是一件大事!
    方一尘阅读 1,216评论 0 0

友情链接更多精彩内容