QQ去除未读状态的动画
QQ去除未读状态的动画
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcmFpbmxlc3Zpbw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
{
switch (_state) {
case
SRSlimeStateNormal:
{
float percent =
1 -
distansBetween(_startPoint ,
_toPoint) /
_viscous;
if (percent ==
1) {
CGContextRef context =
UIGraphicsGetCurrentContext();
UIBezierPath *path = [UIBezierPath
bezierPathWithRoundedRect:CGRectMake(_startPoint.x
- _radius,
_startPoint.y -
_radius,
2*_radius,
2*_radius)
cornerRadius:_radius];
[self
setContext:context
path:path];
CGContextDrawPath(context,
kCGPathFillStroke);
}else {
CGFloat startRadius =
_radius * (kStartTo + (1-kStartTo)*percent);
CGFloat endRadius =
_radius * (kEndTo + (1-kEndTo)*percent);
CGContextRef context =
UIGraphicsGetCurrentContext();
UIBezierPath *path = [self
bodyPath:startRadius
end:endRadius
percent:percent];
[self
setContext:context
path:path];
CGContextDrawPath(context,
kCGPathFillStroke);
if (percent <=
0) {
_state =
SRSlimeStateShortening;
[self
scaling];
}
}
}
break;
case
SRSlimeStateShortening:
{
_toPoint =
CGPointMake((_toPoint.x
- _startPoint.x)*0.8
+ _startPoint.x,
(_toPoint.y -
_startPoint.y)*0.8
+ _startPoint.y);
float p =
distansBetween(_startPoint,
_toPoint) /
_viscous;
float percent =1 -p;
float r =
_radius * p;
if (p >
0.01) {
CGFloat startRadius = r * (kStartTo + (1-kStartTo)*percent);
CGContextRef context =
UIGraphicsGetCurrentContext();
CGFloat endRadius = r * (kEndTo + (1-kEndTo)*percent)
* (1+percent /
2);
UIBezierPath *path = [self
bodyPath:startRadius
end:endRadius
percent:percent];
[self
setContext:context
path:path];
CGContextDrawPath(context,
kCGPathFillStroke);
}else {
self.hidden =
YES;
_state =
SRSlimeStateMiss;
}
}
break;
default:
break;
}
QQ去除未读状态的动画的更多相关文章
- QQ中未读气泡拖拽消失的实现(参照一位年轻牛B的博主的思路自己实现了一下)
原文链接:http://kittenyang.com/drawablebubble/,博主年轻却很有思想.相仿的年纪,很佩服他! 首先分析拖拽时的图,大圆.不规则的图(实际上时有规律的不然也画不出来, ...
- wing带你玩转自定义view系列(2) 简单模仿qq未读消息去除效果
上一篇介绍了贝塞尔曲线的简单应用 仿360内存清理效果 这一篇带来一个 两条贝塞尔曲线的应用 : 仿qq未读消息去除效果. 转载请注明出处:http://blog.csdn.net/wingicho ...
- MailKit---如何知道文件夹下有多少封未读邮件
如果在mailkit中,文件夹已经选中并打开了的话,那直接使用ImapFolder.Unread属性就可以获取到有多少封未读邮件了. 如果文件夹没有打开,那么你还可以使用查询状态的方法来获取未读状态的 ...
- 解决QQ未启用状态,QQ留言图标未启用
最近由于腾讯升级QQ一些东西,导致QQ图标成未启用状态:如图 解决方法,到腾讯此站点登陆一下即可, http://wp.qq.com/set.html 另外设置 没有保存按钮,如果选择完全公开,到自己 ...
- Android 高仿QQ滑动弹出菜单标记已读、未读消息
在上一篇博客<Android 高仿微信(QQ)滑动弹出编辑.删除菜单效果,增加下拉刷新功能>里,已经带着大家学习如何使用SwipeMenuListView这一开源库实现滑动列表弹出菜单,接 ...
- android 实现类似qq未读消息点击循环显示
public void jumpUnread(boolean cycle) { List<ContactLogModel> dataList = adapter.getContactLog ...
- iOS 未读消息角标 仿QQ拖拽 简单灵活 支持xib(源码)
一.效果 二.简单用法 超级简单,2行代码集成:xib可0代码集成,只需拖一个view关联LFBadge类即可 //一般view上加角标 _badge1 = [[LFBadge alloc] init ...
- android 项目学习随笔十三(ListView实现ITEM点击事件,将已读状态持久化到本地)
1.因为给LISTVIEW增加了两个头布局,所以在点击事件ITEM索引会增加2,比如原来第一条数据的索引应该为0,增加两个头布局后,它的索引变为 2,为了使LISTVIEW的ITEM在点 ...
- 一种读取Exchange的用户未读邮件数方法!
已好几个月没写博客了,由于之前忙于开发基于Sharepoint上的移动OA(AgilePoint)和采用混合移动开发技术开发一个安卓版的企业通讯录APP(数据与lync一致),并于1月初正式上线.马年 ...
随机推荐
- 云计算--hbase shell
具体的 HBase Shell 命令如下表 1.1-1 所示: 下面我们将以“一个学生成绩表”的例子来详细介绍常用的 HBase 命令及其使用方法. 这里 grad 对于表来说是一个列,course ...
- 【源码阅读】VS调试mimikatz-改造法国神器mimikatz执行就获取明文密码
0x1 概要 记得某位同学提起在XXX得到了一个一键生成明文的工具,觉得很是神奇... 然而我一看图标就知道是mimikatz,这工具是开源的,只要改两行代码就可以实现写死命令了. 顺带讲讲编译过程中 ...
- 多继承下的super()指向的不一定是直接父类
常规情况 class Base: def __init__(self): print('Base.__init__') class A(Base): def __init__(self): super ...
- npm tls证书报错
Error: unable to verify the first certificate 设置node环境(零时使用,再次使用需要重新使用) set NODE_TLS_REJECT_UNAUTHOR ...
- Heist
CF#509 div2 A 第一次用自己的号打CF祭. 题目描述 昨晚有一家电子商店被抢劫了. 昨天在商店里的所有键盘都是从x开始按升序编号的.例如,如果x=4,并且商店中有3个键盘,那么编号就为4, ...
- 网络协议之TLS
前言 由于在TCP.UDP等方式传输数据时,数据包有可能被其他人截获,并解析出信息,这就给信息安全带来了很大的挑战.最初的SSL协议被网景公司提出,它不会影响上层协议(如HTTP.电子邮件等),但可以 ...
- linux 命令点滴记录(centos)
2016年5月26日:创建root用户 [lx@localhost ~]$ su root Password: [root@localhost lx]# 帐号:root ;密码:输入的Password ...
- 【论文阅读】ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices
ShuffleNet: An Extremely Efficient Convolutional Neural Network for MobileDevices
- DDD领域模型企业级系统(三)
相关代码: public static void ShowArray() { //数据源 int[] arrayas = new int[] { 1, 2, 3, 4 }; //创建查询 var qu ...
- Java编程的逻辑 (6) - 如何从乱码中恢复 (上)?
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http: ...