QQ中的消息数量提示球

2015-06-26  本文已影响518人  coderJerry

在QQ的好友列表页中,当有好友消息没有查看时,UITableviewCell的右边就会出现一个红色的小圆球,并提示未读的消息数。其实它除了可以提示未读消息数,还有很棒的动画效果哦~~
今天我们就来写一个消息提示球的demo。供大家一起学习探讨一下。
效果图如下:


消息提示球gif效果图.gif

实现思路:
大体的结构是一个大圆UIButton下,插入一个小圆UIView。当手势拖动时,计算并绘制出两个圆之间的不规则图形(类似梯形),并将其轨迹中填充颜色。设置最长拖动距离,当超出距离且手势拖动结束,那么就会出现销毁动画。如果不超出距离,会回弹至原来的位置。
具体业务实现中的注意点:
1.自定义大圆控件(UIButton),UIButton既可以显示背景图片,又可以显示文字

2.让大圆控件随着手指移动而移动

3.在拖动的时候,添加一个小圆控件在原来大圆控件的位置

// 计算小圆半径:随机搞个比例,随着圆心距离增加,圆心半径不断减少。
        CGFloat smallRadius = _circleR2 - d / 10;

4.粘性效果

5.粘性业务逻辑处理

6.手指停止拖动业务逻辑

// 取消Autoresizing转自动布局self.view.translatesAutoresizingMaskIntoConstraints = NO;

源程序可以移步github:
https://github.com/CoderJWYang/JWMessageBubble/tree/master
如果有所收获,请点个star哦~~✨✨

上一篇 下一篇

猜你喜欢

热点阅读