一、接下来,我们接着来说这个,连线的问题啊, 1.连线的问题啊,也就是说,我现在点击一个按钮, 在移动到下一个按钮的时候,在两个按钮中间,在两个按钮都亮起来的时候呢,我们肯定是让它去画一条线的,那么, 1)首先,如果我现在从第一个按钮,连到第二个按钮,那么,这条线,应该从哪儿画到哪儿,对,第一个的中心,连到第二个的中心,就可以了, 也就是说,只要我让它高亮的按钮,每一次,我都让它的中心之间,去进行一条连线,实际上,就可以了, 这是大体的一个思路啊,好,然后呢,那接下来,我们就应该去连线, 2.好,那么,这个时候呢,我们说,连线,你要画线的时候,肯定是需要去写drawRect:的, 这是一定的, 在这个地方,去画线, // 画线 - (void)drawRect:(CGRect rect){ } 1)那么,首先,我要画线,我要从谁,画到谁,我要从某一个,比如说,我要从第一个按钮,画到第二个按钮, 2)那么,这个按钮,怎么着去取,判断它们的状态?选中的状态,开始画,那就是说,在这个里边,你的意思是说,在这个里边,去for循环一下, 把所有的按钮都遍历一遍,然后,如果是高亮状态的话,就挨个儿去连线,是吗? 这个里边可是有顺序的问题的啊,你想一下,我现在一、二、三、从左往右连线, 应该是在这块儿有一根儿(一、二、之间)、这块儿有一根儿(二、三之间),应该是这个样子的,那如果我现在一、二、再连到这儿, 再连到这儿的话, 那这根儿线啊,应该是,如果我先走这儿,一、二、三、四的话, 那么,这根儿线,应该是这样画的, 那如果照你说,遍历的话,我我现在一走到这儿(第二行第一个),然后去遍历的时候,那第一个按钮,遍历是它,第二个是这儿,那第三个,我就跑到这儿来了, 第四个,就跑到这儿了, 所以,肯定是不能这么干的,那怎么办,它肯定是有顺序的,对,我要再搞一个数组,首先,我要搞数组干什么,我所有的,需要,只要它一高亮, 那就意味着,这个按钮,肯定是需要连线的,所以呢,我不管你在touchesBegan:也好,还是在touchesMoved:也好,只要变成了高亮, 我就给你放到另外一个数组里边,然后,这个时候,肯定是有顺序的吗,因为你高亮起来,肯定都是有顺序的,一、二、三、四, 那么这个时候,我挨个儿的去添加到某一个有序的数组里边去,然后,再遍历这个数组,在每一个btn之间再去连线,就可以了, 二、连线 1.所以呢,我们在外面,还需要再搞一个数组,叫做lineBtns吧, 这个是// 所有需要连线的按钮 好,接下来啊,这个数组有了,有了以后呢,我们需要去初始化一下,然后呢,在这块儿,写一个lineBtns, if(!_lineBtns){ statements } 然后,return这个lineBtns, 然后,在这个里边,写一个_lineBtns = [NSMutableArr