手勢(shì)解鎖
界面搭建
- 自定義控制器的view
- 只要在view上面畫(huà)東西累提,就要用到drawRect方法
- 加載圖片
- 九宮格
- 九宮格算法
- awakeFromNib
- initWithFrame
- 添加內(nèi)部控件的方法
- layoutSubviews布局子控件
選中按鈕的狀態(tài)
- btn.userInteractionEnabled = NO;
- tochesBegan:
- 如果點(diǎn)在按鈕身上,讓按鈕成為選中狀態(tài)
- 獲取當(dāng)前手指的點(diǎn)touches anyObject
- locationInView
- CGRectContainsPoint判斷一個(gè)點(diǎn)在不在一個(gè)rect當(dāng)中
- 讓按鈕成為選中狀態(tài)
- break,退出整個(gè)循環(huán)
- 如果點(diǎn)在按鈕身上,讓按鈕成為選中狀態(tài)
- touchesMove:
- 點(diǎn)在按鈕身上均唉,讓按鈕成為選中狀態(tài)
- 抽方法
- 按照功能模塊進(jìn)行劃分隐孽,一個(gè)方法對(duì)應(yīng)一個(gè)業(yè)務(wù)邏輯
連線(xiàn)
- 從選中按鈕開(kāi)始癌椿,把所選中按鈕的center連接起來(lái)
- 有順序的把按鈕保存起來(lái)
- drawRect
- 創(chuàng)建一個(gè)路徑
- 取出每一個(gè)選中的按鈕
- 如果是第一個(gè)按鈕健蕊,設(shè)置為路徑的起點(diǎn);
- 不是第一個(gè)添加一個(gè)線(xiàn)到圓心
添加一個(gè)線(xiàn)到當(dāng)前手指的點(diǎn)
定義屬性踢俄,當(dāng)前手指所在的點(diǎn)
連接樣式:圓角
當(dāng)手指松開(kāi)的時(shí)候缩功,所有選中按鈕要取消選中狀態(tài)
清空所有的連線(xiàn)
-
tag
- 不要用tag去查找,它會(huì)去遍歷都办,耗性能
- 可以用來(lái)區(qū)分順序嫡锌,做標(biāo)記