我想绘制一个用户可以选择单词的单词网格,如下图所示
我认为最好的方法是使用 UICollectionView 元素来绘制网格,但是如何处理触摸事件并标记选定的字母?
你的问题没有一个答案。您可以为每个字母使用单独的 UIButton,或者设置自己的与字母对应的触摸坐标跟踪系统,或者做一些完全不同的事情。它归结为您感觉舒适的工作方式和您的经验水平。为了让球滚动起来,我建议你看看这个 Ray Wenderlich教程,它展示了如何通过拖动字母图块来创建一个字母文字游戏。本教程中的技术肯定会帮助您完成项目。
更新:如果您使用按钮路线,您可以通过编程方式创建它们,并且几乎可以做任何您想做的事情。更改他们的标题(在您的情况下)字母,显示或隐藏它们,跟踪各种触摸等等。对于字母和跟踪触摸,可能有很多方法可以做到这一点。尝试将您的字母放在子视图上,同时跟踪它们的中心坐标。然后在你的字母上添加一个新的子视图来跟踪用户的触摸。
您必须阅读并理解UIGestureRecognizer类。
下面是一个如何通过触摸获取用户屏幕坐标的示例。