继续我的问题问here,我想知道如何更新viewDidScroll中的用户界面的方法是正确的。我可以观察到这种方法被称为很多次,可能可能是ui变得紧张和反应迟钝的原因。 如何增加UI的响应度。 的代码如下:优化UIScrollview寻呼
BOOL isScrollingDown = verticalScrollView.contentOffset.y > _previousContentOffsetY;
_previousContentOffsetY = verticalScrollView.contentOffset.y;
CGFloat pageHeight = verticalScrollView.frame.size.height;
int scrollingToPageNum = isScrollingDown ? (ceil((verticalScrollView.contentOffset.y - pageHeight)/pageHeight) + 1) : (floor((verticalScrollView.contentOffset.y - pageHeight)/pageHeight) + 1);
int page = floor((verticalScrollView.contentOffset.y - pageHeight/2)/pageHeight) + 1;
[self loadPage:(page-1)];
[self loadPage:(page)];
[self loadPage:(page+1)];
/* Unloading the pages not seen in the view is done here*/
if (!(isScrollingDown) && scrollingToPageNum >1) {
[self unloadPages:page-2];
}else {
[self unloadPages:page+2];
}
的迟缓装载技术工作正常和大量内存的使用是由于它降低。但是UI太慢了。另外我想知道如何从一个从URL下载图像的不同线程更新UI。
TIA, 普利文
我使用NSURLConnection来异步下载图像。并且委托方法更新UI。如果图像已经下载,则图像视图直接用数据更新。这些图片是来自YouTube的视频缩略图。当我滚动它时,我无法弄清UI的jitterniess。我想滚动是完全自由流动,不慢。随时问我你可能想知道的有关我的实施的任何问题。 – 2011-02-23 18:22:42
问题:你使用什么设备?它的iOS版本是什么?你使用的是什么版本的SDK?你正在下载的图像的尺寸是多少?图像的格式是什么?每张图片有多少个像素?我可以下载并查看您的项目吗?我可能会发现其他事情吗? – Tobias 2011-03-01 21:27:34
@ Gaspy1909 - 对不起,延迟回复。我正在使用iPod 2g,以便在新设备上更好地工作。它有最新的ios 4.2。 SDK也是最新的应用开发网站。每个图像大小约为150x95,作为uiview的一部分放置在uiimageview中。 – 2011-03-07 05:42:25