0

我已经在填字游戏应用程序上工作了一段时间,无论我尝试什么,这个问题都会不断出现。

实际游戏在 UIScrollView 中运行,因为玩家应该能够缩放、平移等。

在 UIScrollview 中,我添加了一个 UIView。首先,我尝试向 UIView 添加多个 UIImageViews 和 UILabels,但它导致滚动性能非常差。

现在,我尝试创建 3 个子类 UIView,并为每个 UIView 编写了自定义 drawRect 方法。我需要 3 个 UIVIew,因为其中只有两个需要重绘,但不能同时重绘。第三个包含恒定的线索编号。

我的 UIScrollView 层次结构如下所示:

UIScrollView
   UIView
      UIImageView (show the game board image)
      UIView (shows the marked row/column)
      UIView (shows the text the user writes)
      UIView (shows the clue numbers)

我认为问题是我在一个 UIView 中有 UIImageView + 3 UIViews。当我尝试创建此层次结构时,它不会滞后,但我无法缩放、平移、滚动等:

UIScrollView
   UIImageView (show the game board image)
   UIView (shows the marked row/column)
   UIView (shows the text the user writes)
   UIView (shows the clue numbers)

你能不能试着指导我正确的方向。如果我不必更改太多,我将不胜感激,因为三个 UIVIew 中的代码很长。

提前致谢 :)

编辑

截图:http ://crosswords-plus.com/puzzles/screen.png

4

1 回答 1

0

首先,我建议缩小你的 UIScrollView 并将包含线索的 UIView 拉出来。听起来它不需要平移/缩放,所以你只是通过将它包含在 UIScrollView 中来增加开销。

其次,如果没有看到您的实现,很难给出很多答案,但在我看来,可以将 UIImageView/UIView/UIView 层次结构转换为 1 个子类,该子类绘制空的、涂黑的或填充的正方形加上行/列根据需要编号。这样,您在 UIScrollView 中只有 1 个 UIView,所有这一切可能要简单得多。

这有帮助吗?您使用 UIImageView 作为背景是否有原因?您是否有理由将行/列编号与用户输入的文本分开?

于 2012-04-30T18:21:37.010 回答