UIScrollView落后于iPhone

时间:2012-04-05 10:37:28

标签: iphone uiscrollview uibutton lag

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

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

当我在模拟器中运行应用程序时,它都可以正常工作,但是当我在iPhone 4上测试它时,UIScrollView会滞后很多。

我不知道这样做的方法是什么?您是否可以尝试指导我如何做到这一点,以便UIScrollView不会滞后于设备。

提前致谢。

2 个答案:

答案 0 :(得分:1)

如果没有某种缓存机制(例如UIScrollView提供的缓存机制),很难使大UITableView变得平滑。

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

此外,我使用imageWithContentsOfFile:而不是imageNamed:来初始化要在UIScrollView中使用的图像,从而获得了更好的效果。

答案 1 :(得分:0)

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