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月初正式上线.马年 ...
随机推荐
- pip 18.1: pipenv graph results in ImportError: cannot import name 'get_installed_distributions'
I'm currently using python3 -m pip install pip==10.0.1python3 -m pip install pipenv==2018.5.18 Once ...
- 清理电脑文件夹中的Thumbs.db文件
@echo off del f:Thumbs.db /f/s/q/a exit 对应修改磁盘号, 保存批处理文件执行即可
- SpringMVC_HelloWorld_01
通过配置文件的方式实现一个简单的HelloWorld. 源码 一.新建项目 1.新建动态web项目 2.命名工程springmvc-01 3.勾选"Generate web.xml depl ...
- @PostContruct注解
@PostContruct是spring框架的注解,在方法上加该注解会在项目启动的时候执行该方法,也可以理解为在spring容器初始化的时候执行该方法.
- testng执行用例失败,再次执行
我们通过重写testng的retry方法和transform方法来实现用例失败重跑的功能. 首先添加两个文件 TestngRetry.java public class TestngRetry imp ...
- 【BZOJ2059】Buying Feed 购买饲料
题面 约翰开车来到镇上,他要带V吨饲料回家.如果他的车上有X吨饲料,每公里就要花费X^2元,开车D公里就需要D* X^2元.约翰可以从N家商店购买饲料,所有商店都在一个坐标轴上,第i家店的位置是Xi, ...
- MVC4是不是类似于html页+ashx页之间用JSON通过AJAX交换数据这种方式、?
不是,可以讲mvc模式是借鉴于java下面的mvc开发模式,为开发者公开了更多的内容和控制,更易于分工合作,与单元测试,借用官方的说法:MVC (Model.View.Controller)将一个We ...
- MVC底层原理
窥探ASP.Net MVC底层原理 实现跨越Session的分布式TempData 1.问题的引出 我相信大家在项目中都使用过TempData,TempData是一个字典集合,一般用于两个请求之间临时 ...
- element-ui的rules中正则表达式
<template> <el-form :model="unuseForm" label-position="top" :rules=&quo ...
- js 高阶函数(map/reduce/filter/sort)
1.map - 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值(注:map不会对空数组进行检测,不会改变原始数组) 语法:array.map(function(currentValu ...