我一直在使用Crosswords应用程序一段时间,这个问题不断回归我的尝试。
实际游戏在UIScrollView中运行,因为播放器应该能够缩放,平移等等。
在UIScrollview中,我添加了一个UIView。首先,我尝试将多个UIImageViews和UILabels添加到UIView,但是导致滚动性能非常糟糕。
现在我尝试创建3个子类UIViews,我为每个子类写了一个自定义的drawRect方法。我需要3个UIVIews,因为只有两个需要重绘,但不能同时重绘。第三个包含不变的线索数。
我的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)
请你试着指导我正确的方向。如果我不需要改变太多,我会很感激,因为三个UIVIews中的代码都很长。
提前致谢:)
修改
答案 0 :(得分:0)
首先,我建议缩小你的UIScrollView并拉出包含线索的UIView。听起来它不需要平移/缩放,所以你只是通过将它包含在UIScrollView中来增加开销。
其次,如果没有看到你的实现,很难给出很多答案,但在我看来,可以将UIImageView / UIView / UIView层次结构转换为1个子类,绘制空白,黑色或填充方块加上行/列编号必要时。这样,你在UIScrollView中只有1个UIView,所有这些都可能更简单。
这有用吗?您是否有理由使用UIImageView作为背景?您是否有理由将行/列编号与用户输入的文本分开?