【发布时间】:2009-05-08 11:30:48
【问题描述】:
如果我错了,请告诉我:
我创建了一个新类 ScrollViewDataSource。该类符合我在委托中为滚动视图创建的协议。嗯,它是一个非常特殊的委托,它在滚动时会做一些非常复杂的事情。因此,此委托在初始化时接收该数据源对象。数据源对象现在有一个方法
- (NSArray*)subviewsFromIndex:(NSInteger)fromIndex toIndex:(NSInteger)toIndex;
因此,当用户滚动时,代理会在滚动期间多次响铃数据源对象以请求数据。我将在滚动期间回收视图。这意味着,如果用户向下滚动,我会从上到下删除视图,并用新数据填充它们。
NSArray 包含 UIView 对象,这些对象将在滚动期间适当定位。此外,在第一次启动包含滚动视图的视图时,数据源将传递数据以显示第一个可见内容。
这是一个好的模式,还是你有更好的想法? 顺便说一句:我知道 UITableView 做了类似的事情。但我想学那个。这对我来说是一种练习。谢谢!
【问题讨论】:
-
您好,您能分享一下您是如何实现视图回收的想法吗?我正在努力通过页面控制获得优化的滚动性能。
标签: iphone cocoa-touch uikit uiview uiscrollview