Objective c 其中启用分页的UIScrollView和UIImage

Objective c 其中启用分页的UIScrollView和UIImage,objective-c,iphone,Objective C,Iphone,我需要在UIScrollView上显示10-1000个图像。分页已启用。所以scrollview的每个页面都是一个图像,它是一个uiimage。我可以将10张图片加载到10张uiimages中,这些图片会保留在内存中,但如果有1000张图片,我在iPhone或iPad上会遇到问题。我试图卸载,然后加载图像时,我做滚动。我每次显示3个图像。当前页面图像以及-1和+1页面。当我滚动时,我卸载图像,然后加载下一个。用这种方法我有两个问题。滚动很慢,如果我滚动得很快,图像就不会出现。也许有什么好办法解决

我需要在UIScrollView上显示10-1000个图像。分页已启用。所以scrollview的每个页面都是一个图像,它是一个uiimage。我可以将10张图片加载到10张uiimages中,这些图片会保留在内存中,但如果有1000张图片,我在iPhone或iPad上会遇到问题。我试图卸载,然后加载图像时,我做滚动。我每次显示3个图像。当前页面图像以及-1和+1页面。当我滚动时,我卸载图像,然后加载下一个。用这种方法我有两个问题。滚动很慢,如果我滚动得很快,图像就不会出现。也许有什么好办法解决这些问题?你能给我推荐一个吗?

你应该使用一个表格,上面有一个大的自定义单元格,每个单元格包含一个图像视图。这样,您在任何时候都不会有超过几个图像视图。该表将管理调出应该对您可见的图像,这样您就不必自己编写所有代码

然而,即使有一个表,如果你试图显示1000个大的(比如20%+的屏幕大小)图像,你也会得到很差的性能。我没有在iPad上尝试过,但iPhone没有足够的马力和内存来快速处理这么多的图像


相反,您应该复制照片库的层次系统。显示缩略图,然后显示完整图像的详细视图或一次仅显示一个图像的左右滚动详细视图。这样做的另一个好处是,它是一个用户已经非常熟悉的界面

您应该使用一个带有大型自定义单元格的表,每个单元格包含一个图像视图。这样,您在任何时候都不会有超过几个图像视图。该表将管理调出应该对您可见的图像,这样您就不必自己编写所有代码

然而,即使有一个表,如果你试图显示1000个大的(比如20%+的屏幕大小)图像,你也会得到很差的性能。我没有在iPad上尝试过,但iPhone没有足够的马力和内存来快速处理这么多的图像


相反,您应该复制照片库的层次系统。显示缩略图,然后显示完整图像的详细视图或一次仅显示一个图像的左右滚动详细视图。这样做的另一个好处是,它是一个用户已经非常熟悉的界面

项目中的TTPhotoViewController可能有用。

项目中的TTPhotoViewController可能有用。

还有一个问题。有没有办法在水平模式下使用tableview?因此,在tableview中我无法启用分页。。。然而,我做了一个tableview,它有水平滚动而没有垂直滚动,但我需要分页。。。有人知道吗?桌子不会翻的。不确定你到底需要什么。我想你是想把桌面界面塞进手机里。你不能期望有好的表现。你必须在低功耗移动硬件的限制下工作,并相应地调整你的设计。我想做一个像书一样的界面,我看到一些很好的书界面,它在页面滚动时非常快。我的界面有点滞后。我只是想加快页面滚动。表视图应该是垂直的。但您可以查看EasyTableView项目。它支持水平表视图,而无需执行大量代码。该项目的代码有很好的文档和编写:还有一个问题。有没有办法在水平模式下使用tableview?因此,在tableview中我无法启用分页。。。然而,我做了一个tableview,它有水平滚动而没有垂直滚动,但我需要分页。。。有人知道吗?桌子不会翻的。不确定你到底需要什么。我想你是想把桌面界面塞进手机里。你不能期望有好的表现。你必须在低功耗移动硬件的限制下工作,并相应地调整你的设计。我想做一个像书一样的界面,我看到一些很好的书界面,它在页面滚动时非常快。我的界面有点滞后。我只是想加快页面滚动。表视图应该是垂直的。但您可以查看EasyTableView项目。它支持水平表视图,而无需执行大量代码。该项目的代码有很好的文档记录和编写: