xcode5 ios开发 屏幕上多个按钮,点击后创建按钮连接线
屏幕上有5个按钮,希望实现:点击两个按钮显示一条有颜色的连接线,然后点第三个按钮,继续创建连接线。点击过的按钮字体颜色发生变化,且不能重复连接,当五个按钮均被连接后,弹出...
屏幕上有5个按钮,希望实现:点击两个按钮显示一条有颜色的连接线,然后点第三个按钮,继续创建连接线。点击过的按钮字体颜色发生变化,且不能重复连接,当五个按钮均被连接后,弹出消息窗口,并附带“当前操作返回”按钮,求助各位了。
展开
1个回答
展开全部
思路是:
你应该维护一个栈。这个栈的作用是存储所有点过的按钮tag,当这个栈没有记录时说明还没有进行任何操作。当这个栈有数据时,可以知道哪一个按钮是最后一个被压入栈的。这样也就知道该是哪两个按钮之间建立连线。存储tag的原因是,可以根据这个tag找到按钮本身
UIButton *btn=(UIButton *)[self.view viewWithTag:tag];
找到按钮就可以知道这个按钮的位置
btn.frame.origin.x , btn.frame.origin.y
问题的难点是在两个按钮连线的起始点与结束点。首先起始点与结束点肯定是在这两个按钮上。
至于画线就简单了,知道了两个点,在UIView 的drawRect 中就可以通过Core garphics framework来绘制。
CGContextMoveToPoint(context,firstPoint);
CGContextAddLineToPoint(context,lastPoint);
CGContextSetStorkColorWithColor(context,[UIColor redColor].CGColor);
CGContextDrawPath()
你应该维护一个栈。这个栈的作用是存储所有点过的按钮tag,当这个栈没有记录时说明还没有进行任何操作。当这个栈有数据时,可以知道哪一个按钮是最后一个被压入栈的。这样也就知道该是哪两个按钮之间建立连线。存储tag的原因是,可以根据这个tag找到按钮本身
UIButton *btn=(UIButton *)[self.view viewWithTag:tag];
找到按钮就可以知道这个按钮的位置
btn.frame.origin.x , btn.frame.origin.y
问题的难点是在两个按钮连线的起始点与结束点。首先起始点与结束点肯定是在这两个按钮上。
至于画线就简单了,知道了两个点,在UIView 的drawRect 中就可以通过Core garphics framework来绘制。
CGContextMoveToPoint(context,firstPoint);
CGContextAddLineToPoint(context,lastPoint);
CGContextSetStorkColorWithColor(context,[UIColor redColor].CGColor);
CGContextDrawPath()
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询