QQ removes unread animation and qq removes Animation
QQ removes unread animations by Wu xueying
Github code
-(Void) drawRect :( CGRect) rect {
Switch (_ state ){
CaseSRSlimeStateNormal:
{
Float percent = 1-distansBetween (_ startPoint, _ toPoint)/_ viscous;
If (percent = 1 ){
CGContextRef context = UIGraphicsGetCurrentContext ();
UIBezierPath * path = [UIBezierPathbezierPathWithRoundedRect: CGRectMake (_ startPoint. x-_ radius, _ startPoint. y-_ radius, 2 * _ radius, 2 * _ radius)
CornerRadius: _ radius];
[SelfsetContext: contextpath: path];
CGContextDrawPath (context, kCGPathFillStroke );
} Else {
CGFloat startRadius = _ radius * (kStartTo + (1-kStartTo) * percent );
CGFloat endRadius = _ radius * (kEndTo + (1-kEndTo) * percent );
CGContextRef context = UIGraphicsGetCurrentContext ();
UIBezierPath * path = [selfbodyPath: startRadius
End: endRadius
Percent: percent];
[SelfsetContext: contextpath: path];
CGContextDrawPath (context, kCGPathFillStroke );
If (percent <= 0 ){
_ State = SRSlimeStateShortening;
[Selfscaling];
}
}
}
Break;
CaseSRSlimeStateShortening:
{
_ 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 = [selfbodyPath: startRadius
End: endRadius
Percent: percent];
[SelfsetContext: contextpath: path];
CGContextDrawPath (context, kCGPathFillStroke );
} Else {
Self. hidden = YES;
_ State = SRSlimeStateMiss;
}
}
Break;
Default:
Break;
}}