创建非功能性图像视图只是为了可见性



我的应用程序有一个圆圈,分为 12 个相等的馅饼,即每 1 小时板 1 个馅饼。我需要为每个饼图配备特定的点击手势功能,因此我想为每个饼图分配特定的颜色代码,以便我可以根据馅饼的颜色检测用户点击位置的颜色。

所以首先我需要你帮我检测每次点击时的颜色代码。其次,我需要帮助对这 12 个馅饼进行非功能性图像视图,以便用户无法看到这 12 种不同颜色的馅饼,而只能看到 1 个具有单一颜色的圆圈,但点击手势应始终在我的 1 个彩色圆圈下方的这 12 个馅饼上执行。最后,我还需要卷轴方面的帮助。

我已经在我的应用程序中实现了分段滚动视图,以便如果用户从左到右点击,则会显示一个新分段,反之亦然。该应用程序只有 2 个分段滚动视图。一个用于在单击时在这些饼图中添加文本,另一个用于在单击时在这些饼图中添加文本。我在teamviewer和Skype上都可以使用,因此任何帮助方式都将不胜感激。

似乎你有 2 个半径不同的同心圆。要达到您正在寻找的效果,您只需检查用户触摸和圆心之间的线的角度。然后,您只需检查线条的长度即可查看您所在的圆圈。尝试:

// Find the pie segment you are in. Angle in radians.
float angle = atan2(centre.y - touch.y, centre.x - touch.x))
// Use the angle to figure out which segment the user tapped in. You'll have to
// figure out the angles for the 12 segments on your own!
if(angle > 2.7489 || angle < -2.7489){
}
// Compute the length of the line.
float dx = centre.x - touch.x;
float dy = centre.y - touch.y;
float length = sqrt(dx * dx + dy * dy);
// Check if the user touched the inner circle.
if(length <= radius1){
}
// Check if the user touched the outer circle.
else if(length <= radius2){
}
// The user tapped outside both circles.
else{
}

从那里,您只需添加代码,您需要更改任一圆圈的布局。希望对您有所帮助!

最新更新