我正在尝试创建填字游戏应用。游戏在UIScrollView中运行,因为播放器应该能够缩放,滚动等。最大的填字游戏是21x21,这意味着需要441个可触摸的磁贴。到目前为止我所尝试的是创建一个UIView并将其作为子视图添加到UIScrollView。然后我调用一个创建441个自定义UIButtons并设置backgroundImage的方法。
有些UIButton需要有自定义标签覆盖,所以我添加了一个UILabel并将其设置在UIButton之上。
当我在模拟器中运行应用程序时,它都可以正常工作,但是当我在iPhone 4上测试它时,UIScrollView会滞后很多。
我不知道这样做的方法是什么?您是否可以尝试指导我如何做到这一点,以便UIScrollView不会滞后于设备。
提前致谢。
答案 0 :(得分:1)
如果没有某种缓存机制(例如UIScrollView
提供的缓存机制),很难使大UITableView
变得平滑。
但是,为了让渲染生活更轻松,您可以做的一件事就是确保尽可能使用不透明的背景。不要使视图透明,而应使其与底层视图的颜色相同。这是有帮助的。
此外,我使用imageWithContentsOfFile:
而不是imageNamed:
来初始化要在UIScrollView
中使用的图像,从而获得了更好的效果。
答案 1 :(得分:0)
为了不将所有这些按钮保留在内存中,您应该使用可重用的表视图单元格,这将真正提高滚动性能。这是一个可以让您的生活更轻松的组件:DTGridView,还有其他组件(您可以查看Cocoa Controls)