MDGroupAvatarView Swift实现类似微信和QQ的群聊头像拼接效果

微信和 QQ 群聊的头像拼接效果,Swift 也能玩得溜。MDGroupAvatarView就是一个挺实用的自定义视图组件,能把一堆用户头像拼成一个整齐的小方块或者圆形头像,样子还蛮像样的。

UIKit做 UI 的朋友应该不陌生,像这种组合头像,主要就是搞定图片缩放圆角裁剪、再加个自定义布局。视图类估计是继承 UIView 的,重写 draw(_:),自己摆位置、画图,全都自己来。

头像显示效果靠几个点:UIImage 缩放、用 UIBezierPath 配合 CAShapeLayer 做圆角,再加点小动画,比如进场淡入、点击放大之类的,整体观感还不错。

布局方面,一般用 UICollectionView 也能搞,但要想完全控制样式,用纯代码自定义布局逻辑会更灵活。比如,头像最多显示 4 个,排成一个方阵,超出的可以用“+N”方式提示。

异步加载也关键,不然主线程一阻塞,滑动一卡顿就尴尬了。推荐用 SDWebImageKingfisher 来搞定下载和缓存,省心多了。

如果你还想加点交互,比如点头像跳到个人页,UITapGestureRecognizer 一加就行,响应也快,代码也简单。

配置方面也挺自由,头像尺寸、边距、背景色基本都能设置,拿来改改也挺方便。如果你正好在做社交类或者团队协作的 App,可以把这个组件拿来用用,少走点弯路。

zip 文件大小:2.99MB