本文主要是介绍【触摸案例-手势解锁案例-连线到按钮 Objective-C语言】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、接下来,我们接着来说这个,连线的问题啊,
1.连线的问题啊,也就是说,我现在点击一个按钮,
在移动到下一个按钮的时候,在两个按钮中间,在两个按钮都亮起来的时候呢,我们肯定是让它去画一条线的,那么,
1)首先,如果我现在从第一个按钮,连到第二个按钮,那么,这条线,应该从哪儿画到哪儿,对,第一个的中心,连到第二个的中心,就可以了,
也就是说,只要我让它高亮的按钮,每一次,我都让它的中心之间,去进行一条连线,实际上,就可以了,
这是大体的一个思路啊,好,然后呢,那接下来,我们就应该去连线,
2.好,那么,这个时候呢,我们说,连线,你要画线的时候,肯定是需要去写drawRect:的,
这是一定的,
在这个地方,去画线,
// 画线
- (void)drawRect:(CGRect rect){
}
1)那么,首先,我要画线,我要从谁,画到谁,我要从某一个,比如说,我要从第一个按钮,画到第二个按钮,
2)那么,这个按钮,怎么着去取,判断它们的状态?选中的状态,开始画,那就是说,在这个里边,你的意思是说,在这个里边,去for循环一下,
把所有的按钮都遍历一遍,然后,如果是高亮状态的话,就挨个儿去连线,是吗?
这个里边可是有顺序的问题的啊,你想一下,我现在一、二、三、从左往右连线,
应该是在这块儿有一根儿(一、二、之间)、这块儿有一根儿(二、三之间),应该是这个样子的,那如果我现在一、二、再连到这儿,
再连到这儿的话,
那这根儿线啊,应该是,如果我先走这儿,一、二、三、四的话,
那么,这根儿线,应该是这样画的,
那如果照你说,遍历的话,我我现在一走到这儿(第二行第一个),然后去遍历的时候,那第一个按钮,遍历是它,第二个是这儿,那第三个,我就跑到这儿来了,
第四个,就跑到这儿了,
所以,肯定是不能这么干的,那怎么办,它肯定是有顺序的,对,我要再搞一个数组,首先,我要搞数组干什么,我所有的,需要,只要它一高亮,
那就意味着,这个按钮,肯定是需要连线的,所以呢,我不管你在touchesBegan:也好,还是在touchesMoved:也好,只要变成了高亮,
我就给你放到另外一个数组里边,然后,这个时候,肯定是有顺序的吗,因为你高亮起来,肯定都是有顺序的,一、二、三、四,
那么这个时候,我挨个儿的去添加到某一个有序的数组里边去,然后,再遍历这个数组,在每一个btn之间再去连线,就可以了,
二、连线
1.所以呢,我们在外面,还需要再搞一个数组,叫做lineBtns吧,
这个是// 所有需要连线的按钮
好,接下来啊,这个数组有了,有了以后呢,我们需要去初始化一下,然后呢,在这块儿,写一个lineBtns,
if(!_lineBtns){
statements
}
然后,return这个lineBtns,
然后,在这个里边,写一个_lineBtns = [NSMutableArr
这篇关于【触摸案例-手势解锁案例-连线到按钮 Objective-C语言】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!