UIScrollView落后于iPhone

UIScrollView落后于iPhone,iphone,uiscrollview,uibutton,lag,Iphone,Uiscrollview,Uibutton,Lag,我正在尝试创建一个纵横字谜应用程序。游戏在UIScrollView中运行,因为玩家应该能够缩放、滚动等。最大的纵横字谜是21x21,这意味着需要441个可触摸的方块。到目前为止,我尝试创建一个UIView,并将其作为子视图添加到UIScrollView中。然后我调用一个方法,创建441个自定义UIButtons并设置背景图像 一些UIButton需要自定义标签覆盖,所以我添加了一个UILabel并将其设置在UIButton的顶部 当我在模拟器中运行应用程序时,一切正常,但当我在iPhone4上测

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

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

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

我不知道这样做是否正确?你能不能试着指导我正确的操作方向,这样UIScrollView就不会落后于设备了


提前感谢。

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

Big
UIScrollView
s如果没有某种缓存机制(如
UITableView
提供的缓存机制),很难使其平滑

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


另外,我使用
imageWithContentsOfFile:
而不是
imageNamed:
来初始化要在
UIScrollView中使用的图像时,我已经体验到了更好的性能,我认为您使用了大量内存,使用instrument运行代码以使用内存。Instruments显示的总使用量为1.5 mb:/用户是否能够放大DTGridView?我认为它不支持此功能,但您可以自己添加此功能,因为它是开源的