手势解锁
界面搭建
- 自定义控制器的view
- 只要在view上面画东西,就要用到drawRect方法
- 加载图片
- 九宫格
- 九宫格算法
- awakeFromNib
- initWithFrame
- 添加内部控件的方法
- layoutSubviews布局子控件
选中按钮的状态
- btn.userInteractionEnabled = NO;
- tochesBegan:
- 如果点在按钮身上,让按钮成为选中状态
- 获取当前手指的点touches anyObject
- locationInView
- CGRectContainsPoint判断一个点在不在一个rect当中
- 让按钮成为选中状态
- break,退出整个循环
- 如果点在按钮身上,让按钮成为选中状态
- touchesMove:
- 点在按钮身上,让按钮成为选中状态
- 抽方法
- 按照功能模块进行划分,一个方法对应一个业务逻辑
连线
- 从选中按钮开始,把所选中按钮的center连接起来
- 有顺序的把按钮保存起来
- drawRect
- 创建一个路径
- 取出每一个选中的按钮
- 如果是第一个按钮,设置为路径的起点;
- 不是第一个添加一个线到圆心
添加一个线到当前手指的点
定义属性,当前手指所在的点
连接样式:圆角
当手指松开的时候,所有选中按钮要取消选中状态
清空所有的连线
-
tag
- 不要用tag去查找,它会去遍历,耗性能
- 可以用来区分顺序,做标记