我只是想知道如果有人能为我解释这段代码,所以我可以从中学习。我试图让我的应用程序有一个滚动从左到右滚动的图片负载(从互联网),但事情是,它必须有延迟加载。所以我做了一些教程,并想出如何做到这一点,但我真的不明白它。所以我希望某种灵魂可以解释一步iOS UIScrollView懒加载
如何偷懒负载阶跃这是我从教程了解到代码:
-(void)scrollViewDidScroll:(UIScrollView *)myScrollView {
/**
* calculate the current page that is shown
* you can also use myScrollview.frame.size.height if your image is the exact size of your scrollview
*/
int currentPage = (myScrollView.contentOffset.y/currentImageSize.height);
// display the image and maybe +/-1 for a smoother scrolling
// but be sure to check if the image already exists, you can do this very easily using tags
if ([myScrollView viewWithTag:(currentPage +1)]) {
return;
}
else {
// view is missing, create it and set its tag to currentPage+1
}
/**
* using your paging numbers as tag, you can also clean the UIScrollView
* from no longer needed views to get your memory back
* remove all image views except -1 and +1 of the currently drawn page
*/
for (int i = 0; i < currentPages; i++) {
if ((i < (currentPage-1) || i > (currentPage+1)) && [myScrollView viewWithTag:(i+1)]) {
[[myScrollView viewWithTag:(i+1)] removeFromSuperview];
}
}
}
您可以节省很多痛苦,并查看Apple示例代码,该代码将向您展示如何实现“无限滚动”滚动条,该滚动条根据需要加载图像。我认为这是网址,但文件名是InfiniteScrollView.m - http://developer.apple.com/library/ios/#samplecode/StreetScroller/Listings/StreetScroller_InfiniteScrollView_m.html – 2012-07-31 23:07:01