0

我正在为 iOS 开发一款看起来有点像“Boggle”棋盘游戏的游戏,基本上是一个 4x4 的数字网格,您可以通过触地、触动和触动事件结构滑动,该结构应该返回到主对“磁贴”的标识/内容进行编程以及“选择”它们,以便用户获得他们被选中的视觉反馈(这是我的问题......如何实现这一点)。磁贴可以是按钮或标签。

我能够在 Windows Phone 和 PC 平台上通过与表单本身相关联的触摸/向上/移动事件来实现这一点,即“直接上方”或“向下”、“移动”或“向上”的概念一个标签,并发现将事件与相关的向下/向上/移动动作联系起来很简单,但似乎无法弄清楚如何在 iOS 上执行此操作,尽管研究了手势以及触摸向上/向下/移动范例并创建了几个不同的手势项目,这些项目没有像我在 Windows 中找到的那样工作:http: //www.wintellect.com/CS/blogs/jprosise/archive/2011/01/14/building-touch-interfaces- for-windows-phones-part-2.aspx 我猜应该使用标签而不是按钮,但我愿意使用任何一种。现在,我已经通过简单的按钮触摸实现了游戏,但是当您无法通过单次滑动选择一组相邻的标签时,游戏失去了很多现代 UI 感觉和自然 UI 约束。非常感谢您的帮助。

4

2 回答 2

1

我会创建一个GameBoardViewUIView. 然后,这会将 4x4 网格中的所有标签作为子视图。然后在您的 中GameBoardView,您可以实现以下方法来处理触摸事件。

– touchesBegan:withEvent:
– touchesMoved:withEvent:
– touchesEnded:withEvent:
– touchesCancelled:withEvent:

这些方法是UIResponder其中的超类,UIView并且旨在被覆盖,因此您可以执行自己的基于触摸的逻辑。

于 2013-07-29T15:19:46.127 回答
0

简单的!

/* Lots of code that didn't work, see old version if you want */

不,没有那么简单。似乎 UIButton 加强了事件..

..所以我创建了一个 UIView 子类,带有 UILabels 和自定义触摸处理(正如 Clever Error 的回答也指出),发布在 GitHub 上:https ://github.com/LeonardPauli/LPSwipeableInputMatrixView

测试和工作。但一点也不完美。重制应该很简单,通过。

祝你好运!:)

于 2013-07-29T15:26:58.860 回答