一、然后呢,我们再来说一下这个错误的样式 1.首先,在我们的示例程序里边,我现在来连一条线,一撒手的时候, 它先出来一个,红色的按钮的样式,那么这个时候呢,实际上,是在设置另外一种状态,给按钮的另外一种状态,再去设置另外一张红色的图片,然后呢,再去切换成那一种状态,就可以了,这个里边呢,我们来到我们这个代码里边,先给它设置一个图片,这个是肯定是一定有的, // 设置btn错误的图片(可用状态) [btn setBackgroundImage:[UIImage imageNamed:@“gesture_node_error”] forState:UIControlStateDisabled]; 2.然后呢,接下来,我们一步一步来做啊, 在撒手的时候,我们现在做的程序啊, 我们现在一撒手的时候,它把线也清空了,把按钮的状态,也清空了,然后呢,这个清空啊,我要给它抽出来一个方法,然后,我们以后再去调用清空的时候,直接去用,这个示例程序里边,它是一撒手以后,先变成红色,然后,过上两、三秒钟,dispatch一下,过上两、三秒钟以后,它才会消失,所以呢,我们把end的这一块儿啊,把整个这一段儿话,选中, 都抽成一个方法,command + X,都给它剪切掉啊, 然后,写一个- (void)clear:方法, 然后,把这段儿代码,拿过来啊, // 清空 // 清空(恢复到最初始的状态) 然后,接下来,当我End的时候啊,我现在呢,不清空了,直接把这个样式,变成,把这个btn啊,变成红色的图片, 把这个disable啊,able的状态,变成NO了,它就应该会变成红色的图片,那么,谁需要,哪一个btn需要去变,这个,所有画线数组里边所有的btn,都应该去变吧,没错儿吧,所以呢,我们在这个end里边, 来for循环, for(int I = 0 ; I < self.lineBtns.count;I++){