0

我正在尝试创建一个填字游戏应用程序。游戏在 UIScrollView 中运行,因为玩家应该能够缩放、滚动等。最大的填字游戏是 21x21,这意味着需要有 441 个可触摸的图块。到目前为止,我尝试的是创建一个 UIView 并将其作为子视图添加到 UIScrollView。然后我调用一个创建 441 个自定义 UIButtons 并设置 backgroundImage 的方法。

一些 UIButtons 需要有一个自定义标签覆盖,所以我添加了一个 UILabel 并将其设置在 UIButton 的顶部。

当我在模拟器中运行应用程序时,一切正常,但是当我在 iPhone 4 上测试它时,UIScrollView 滞后了很多。

不知道这个方法可以吗?您能否尝试指导我如何做到这一点的正确方向,以便 UIScrollView 不会在设备上滞后。

提前致谢。

4

2 回答 2

1

如果UIScrollView没有某种缓存机制,比如UITableView.

但是,为了让渲染更轻松,您可以做的一件事是确保尽可能使用不透明背景。与其使视图透明,不如将其设置为与其底层视图相同的颜色。这确实有帮助。

此外,我使用imageWithContentsOfFile:而不是imageNamed:初始化要在UIScrollView.

于 2012-04-05T11:53:52.200 回答
0

为了不将所有这些按钮保留在内存中,您应该使用可重用的表格视图单元格,这将真正提高滚动性能。这是一个可以让您的生活更轻松的组件:DTGridView,还有其他组件(您可以查看Cocoa Controls

于 2012-04-05T11:31:14.707 回答