0

我是 iOS 新手,虽然我已经掌握了基础知识,现在我正在尝试开发一个填字游戏应用程序。任何建议从哪里开始。

我最面临的问题是开发 15 X 15 方格板。我想到了两种可能的解决方案——

  1. 在每 15 行中放置 15 个文本字段,并根据要求禁用文本字段并添加黑色背景色。但也有两个问题,既然纵横字谜左上角有一个数字,我该怎么放呢?第二个是它会影响我的表现,因为有这么多的文本字段。

  2. 我想到的另一种可能的解决方案是将板编码CGRect and CGContextAddRect到指定位置。但是我在如何与 CGRect 交互时遇到问题,即单击它会弹出键盘并且用户可以输入字母。

请帮忙,我不知道从哪里开始。其他解决方案也是可以接受的。

4

3 回答 3

4

我会建议一个 UICollectionView。这类似于 UITableView 但具有多行和多列。每个 UICollectionViewCell 应该由一个 UITextField 组成。

对于数字,您可以静态执行此操作,即您在情节提要中执行此操作(为每个数字放置一个 UITextField,剩余空间将是 UICollectionView。

或者(我更喜欢,但需要更多逻辑)你制作一个 16x16 板,第 0 部分和一个部分中的每 0 行将用于数字,其余的用于实际的填字游戏。

于 2013-10-17T05:41:33.017 回答
1

最好的方法是使用 UICollectionView 是你的目标是 iOS6+ 或AQGridView如果目标是旧版本。每个单元最终都是一个 UIVIew。

拥有自定义文本字段可能会使事情变得复杂。使用 UIKeyboard 并将委托设置为您的集合视图。在 didselectrowAtIndex 中显示你的键盘。任何键盘代表都会返回您可以在该框中设置为标签的字符

与文本字段方法相比,这种方法几乎没有优势

1) 与 UITextField 相比,您可以轻松自定义 UIView/UILabel。
2) 标签可以有自定义字体和属性字符串。
3) UITextField 中的光标很难隐藏。它显示了一种编辑模式。

缺点:标签需要键盘设置。(但是您可以使用pickerview之类的替代控件来克服)

此外,请确保您没有在视图中存储任何值。始终从您的数据结构(字符的二维数组)刷新视图。

于 2013-10-17T05:46:28.910 回答
0

只是一个带有标签的视图网格应该可以工作。您可能认为能够在适当的位置输入每个字符是个好主意,但事实并非如此。用户将不必点击 Ana 方格类型,在另一个方格上键入,键入...

因此,如果您使用标签,您可以拥有不同的 UI,让用户现在输入字符串,然后您可以将字符放入正确的标签中。

于 2013-10-17T07:36:58.410 回答