MDGroupAvatarView Swift实现类似微信和QQ的群聊头像拼接效果
微信和 QQ 群聊的头像拼接效果,Swift 也能玩得溜。MDGroupAvatarView就是一个挺实用的自定义视图组件,能把一堆用户头像拼成一个整齐的小方块或者圆形头像,样子还蛮像样的。
用UIKit做 UI 的朋友应该不陌生,像这种组合头像,主要就是搞定图片缩放、圆角裁剪、再加个自定义布局。视图类估计是继承 UIView
的,重写 draw(_:)
,自己摆位置、画图,全都自己来。
头像显示效果靠几个点:UIImage 缩放、用 UIBezierPath
配合 CAShapeLayer
做圆角,再加点小动画,比如进场淡入、点击放大之类的,整体观感还不错。
布局方面,一般用 UICollectionView 也能搞,但要想完全控制样式,用纯代码自定义布局逻辑会更灵活。比如,头像最多显示 4 个,排成一个方阵,超出的可以用“+N”方式提示。
异步加载也关键,不然主线程一阻塞,滑动一卡顿就尴尬了。推荐用 SDWebImage 或 Kingfisher 来搞定下载和缓存,省心多了。
如果你还想加点交互,比如点头像跳到个人页,UITapGestureRecognizer
一加就行,响应也快,代码也简单。
配置方面也挺自由,头像尺寸、边距、背景色基本都能设置,拿来改改也挺方便。如果你正好在做社交类或者团队协作的 App,可以把这个组件拿来用用,少走点弯路。
2.99MB
文件大小:
评论区