
image.png
思路:
首先必須將UI設(shè)計(jì)好;
聲明一個(gè)viewArray對象用于存放九宮格中的內(nèi)容列表,包括獎項(xiàng)、抽獎按鈕、謝謝參與等,然后通過for循環(huán)將這些view填充到九宮格中;
聲明一個(gè)currentRunCount來標(biāo)記當(dāng)前被選中的項(xiàng);
通過CJModel 為每一個(gè)格子設(shè)置不同的值 ,這樣,被選中的格子就和其他格子區(qū)分開來了;
抽獎動畫實(shí)現(xiàn)原理:基于上面的準(zhǔn)備,我們只要更改currentRunCount的值,就能切換選中格子,再結(jié)合CABasicAnimation動畫就可以形成流暢的動畫效果;
為抽獎按鈕設(shè)置一個(gè)click事件,事件回調(diào)流程: 九宮格先遍歷切換4圈,之后再向后臺請求數(shù)據(jù)獲得中將號碼(九宮格的序號),然后再根據(jù)序號遍歷到相應(yīng)位置后給出提示:中獎了或者很遺憾沒有中獎;
1,九宮格展示UI:

image.png
交換位置
-
(void)exchangeFrameWithView:(UIView *)firstView otherBtn:(UIView *)secondView {
CGRect frame = firstView.frame;
firstView.frame = secondView.frame;
secondView.frame = frame;
}
2,按鈕的點(diǎn)擊:
image.png
3,開始動畫:
image.png
4,旋轉(zhuǎn)動畫
image.png
5,4圈后停止動畫
image.png



