获取特定圈子的触摸事件。 例如,如果用户在圆圈7之间触摸,则将圆圈的黑色填充到圆圈7。
目前我有两种方法可以实现此功能: 1)取10个UIImageView并相互叠加,触摸图像视图,根据条件改变图像视图的颜色。
2)取UIView并绘制20色渐变(10为黑色边框线,10为白色空间)并保存每个渐变的帧。然后获取用户的触摸区域,然后根据该颜色改变颜色。
我正在寻找更好的解决方案。
答案 0 :(得分:1)
为什么不拥有单个图像,并根据触摸点计算半径 - 所有您需要知道的是中心位置。
而不是半径,你真正需要的是你的波段从0到11的索引 - 如果它们的厚度相等,你可以在一次计算中做到这一点 - 取整数部分(11 * radius / radiusFull)< / p>
如果靶心尺寸不同,您可能需要添加更多代码。
无论哪种方式,您都应该能够使用单个图像(即动生成或简单加载)以及一些简单的数学运算来完成所有操作。