思路:
首先必須將UI設(shè)計(jì)好椰憋;
聲明一個(gè)viewArray對(duì)象用于存放九宮格中的內(nèi)容列表徙赢,包括獎(jiǎng)項(xiàng)般婆、抽獎(jiǎng)按鈕、謝謝參與等礁芦,然后通過for循環(huán)將這些view填充到九宮格中;
聲明一個(gè)currentRunCount來標(biāo)記當(dāng)前被選中的項(xiàng)悼尾;
通過CJModel 為每一個(gè)格子設(shè)置不同的值 柿扣,這樣,被選中的格子就和其他格子區(qū)分開來了闺魏;
抽獎(jiǎng)動(dòng)畫實(shí)現(xiàn)原理:基于上面的準(zhǔn)備未状,我們只要更改currentRunCount的值,就能切換選中格子析桥,再結(jié)合CABasicAnimation動(dòng)畫就可以形成流暢的動(dòng)畫效果司草;
為抽獎(jiǎng)按鈕設(shè)置一個(gè)click事件,事件回調(diào)流程: 九宮格先遍歷切換4圈泡仗,之后再向后臺(tái)請(qǐng)求數(shù)據(jù)獲得中將號(hào)碼(九宮格的序號(hào))埋虹,然后再根據(jù)序號(hào)遍歷到相應(yīng)位置后給出提示:中獎(jiǎng)了或者很遺憾沒有中獎(jiǎng);
1,九宮格展示UI:
交換位置
-
(void)exchangeFrameWithView:(UIView *)firstView otherBtn:(UIView *)secondView {
CGRect frame = firstView.frame;
firstView.frame = secondView.frame;
secondView.frame = frame;
}
2,按鈕的點(diǎn)擊:
image.png
3,開始動(dòng)畫:
image.png
4,旋轉(zhuǎn)動(dòng)畫
image.png
5,4圈后停止動(dòng)畫
image.png