直播間點讚動畫
#pragma mark - 點讚動畫
- (void
)praiseanimation ];
[self
.view addsubview:imageview];
// 隨機產生乙個動畫結束點的x值
cgfloat
finishx = frame.size.width - round(random() %
200);
// 動畫結束點的y值
cgfloat
finishy =
200;
// imageview在運動過程中的縮放比例
cgfloat
scale = round(random() %
2) +
0.7;
// 生成乙個作為速度引數的隨機數
cgfloat
speed =
1/ round(random() %
900) +
0.6;
// 動畫執行時間
nstimeinterval
duration =
4* speed;
// 如果得到的時間是無窮大,就重新附乙個值(這裡要特別注意,請看下面的特別提醒)
if(duration == infinity) duration =
2.412346
; // 隨機生成乙個0~7的數,以便下面拼接名
intimagename = round(random() %
8);
// 開始動畫
[uiview
beginanimations:nil context:(__bridge
void
*_nullable)(imageview)];
// 設定動畫時間
[uiview
setanimationduration:duration];
// 拼接名字
imageview.image = [
uiimage
imagenamed:[
nsstring
stringwithformat:
@"good%d_30x30_.png"
,imagename]];
// 設定imageview的結束frame
imageview.frame =
cgrectmake
( finishx, finishy,
30* scale,
30* scale);
// 設定漸漸消失的效果,這裡的時間最好和動畫時間一致
[uiview
animatewithduration:duration animations:^];
// 結束動畫,呼叫onanimationcomplete:finished:context:函式
[uiview
setanimationdidstopselector:
@selector
(onanimationcomplete:finished:context:)];
// 設定動畫**
[uiview
setanimationdelegate:
self
];
[uiview
commitanimations];
}/// 動畫完後銷毀iamgeview
- (void
)onanimationcomplete:(
nsstring
*)animationid finished:(
nsnumber
*)finished context:(
void
*)context
點讚動畫 飄心
飄心效果自定義view 1.建立imageview 2.imageview執行組合動畫 3.動畫執行完成後銷毀view 動畫 隨機數 位移 縮放 透明度 旋轉 public class flyheartview extends relativelayout public flyheartview c...
iOS 使用核心動畫加粒子發射器實現的點讚按鈕
1.使用到的類 1 2 3 4 5 cakeyframeanimation 核心動畫 關鍵幀動畫 caemitterlayer 粒子發射器 其實就是乙個layer,其父類是calayer caemittercell 粒子 ps 核心動畫應該不用多說了 caemitterlayer和caemitter...
vue實現乙個給直播點讚功能
doctype html en utf 8 viewport content width device width,initial scale 1.0 document title head dianzan 點讚 button 點讚數 div div body button style newvue...