我有一个UIScrollView用于模拟UITableView之类的交互,因为行比UITableView提供的要复杂一些。我有4个UILables UIImageView和每行UIButton。最终结果是很多子视图。
即使只有10行,滚动视图在模拟器中看起来很好但在iPhone 4上的帧速率相当低。这肯定是资源消耗问题。
有没有办法在双缓冲滚动时优化重绘?
如果没有,是否有其他方法可以获得可自定义的UITableview功能?
感谢
答案 0 :(得分:2)
每个View都有4xUILabels,UIImageView和UIButton吗?
我会创建一个带有自定义UITableViewCell的nib文件(您可以根据需要制作那些复杂的文件),然后您可以重复使用单元格来帮助您提高性能。
答案 1 :(得分:1)
我认为您可能想要创建UITableViewCell的自定义子类,因为UITableView将为您处理所有重绘。在自定义UITableViewCell中,您可以添加任意数量的子视图。
答案 2 :(得分:1)
看看http://cocoawithlove.com/2009/04/easy-custom-uitableview-drawing.html。
UITableViews是UIScrollView的子类(或者至少符合他们的行为),但是你真的想让iPhone为你提供UITableView提供的选择性绘图/单元重用。
答案 3 :(得分:0)
如果它能完成你需要的一切,你应该使用UITableView
。
但是,如果您的tableview单元格非常复杂,或者您想在scrollview上启用分页,则应该查看Apple提供的PageContol
示例代码。简而言之,您可以在scrollViewDidScroll:
中观察移动,并在它们变得可见之前加载新的“页面”。对于任意长的页面列表,此方法在实践中非常有效。