一、手势解锁案例,九宫格,我们先来分析一下怎么实现: 首先呢,我们先来运行一下, 这一块儿,上面的这九个东西,肯定是要有一个九宫格的一个算法的问题,然后呢,上边的这九个小圆圈儿,这是什么东西,Button,为什么是Button,因为可以点,是吗,就因为这个?实际上,你用这个Button也可以,实际上,用UIImageView,实际上也能做,但是可能imageView做起来更麻烦一些,为什么,因为我们说,我这块儿,如果我用的是一个Button的话,我现在这一块儿,这是一张普通的图片,当我点击的时候,是另外一张图片, 当我密码错误,撒手的时候,是第三张图片, 我们说,Button,是有很多状态的,什么selected、highlighted、disabled、normal、这些状态,都是有的,所以你用Button,只需要给这个Button,把这三种图片,找三种样式,然后呢,设置一下这个图片,然后呢,再去切换这个按钮的状态,比如说, 1)这是Highlighted状态:Highlighted == YES; 2)这是Disabled状态:abled == NO; 还有一个Selected状态:Selected == YES, 只要切换它这些属性,它就能够给你去变图片,假如说你用imageView的话,你可能还得去换图片,我们用Button,只需要再去改状态就可以了,设置一套图片,改状态就可以了,所以用Button实际上更方便一些, 但是ImageView,实际上,也可以去做, 2.当我现在在这一块儿,点击的时候, 我会改变它的一个状态,那么,这个时候,我点击另外一个按钮, 那这个按钮就会去变,那么,首先,我们这个里边儿,实际上有一个,就是你,touchesBegan:触摸的那个位置,然后,根据你那个位置,来去判断我是哪一个按钮去变化,这个里边儿有一个判断的过程啊,就是你点击的那个位置,那个point,是在我哪一个按钮的frame里边,我就让这个按钮亮起来, 3.我点击它,我现在再往右滑,连线的时候, 只要我经过一个按钮,这个按钮就又会变成高亮起来, 所以,这个里边儿,肯定还是有touchesMoved:存在,一定是有touchesMoved:方法的, 4.然后呢,还有,就是这个连线, 这个连线,实际上,是用drawRect:画出来的,包括,还有一个点,就是你在这个鼠标,移动到, 移动到空白的时候,这块儿会多出来一个小线头儿,这个东西,又是怎么做的,然后呢,这些东西啊,我们都会去讲, 5.这是一个,大体的一个需求吧,然后,还有就是密码正确,和,密码错误,的时候,我们也会判断一下密码,如果你是密码正确的时候,我一撒手,应该跳转, 如果是密码错误的时候, 我应该,就是一个红色的一个提示, 然后,密码正确,怎么着去生成密码,这是我们要讲的,这里边还有一个点,就是,你横着连,从左往右横着连,和你反过来连,从右往左横着连,这个密码是不一样的, 没错儿吧,这一点啊,也要知道啊, 到时候我们怎么着去生成密码,再去来说一下,好,我们一个一个来做,这里边还有一个,控制器的背景图片,我们到时候来讲,怎么着设置控制器的背景图片,需求说完了以后,我们先简单的把它,图片设置一下,然后把九宫格的布局做一下,我们先来做这两步啊, 二、我们新建一个项目 1.Name:手势解锁 创建, 首先,这个ViewController啊,我就用系统的这个ViewController了, 2.我们先给这个viewController设置一下背景图片, 这些图片,选中,拖到项目里, 把这个main.png,从1x,拖到,2x,里,让它小一点儿, 拖过来, 拖过来, 这一张啊,这个Home, Home开头儿的,就是我们控制器view的背景,这是一张图片啊,不是一个深蓝色啊,这是一张图片,接下来,我要给控制器的view,去设置这张图片, 我们之前说,设置控制器的view,如果想设置成一张背景图片的话,有很多种方法,