ios 直播間點讚動畫

2021-08-15 19:23:28 字數 1893 閱讀 2267

直播間點讚動畫

#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...