2017-02-06 37 views
0

我在我的应用程序中创建图像滑块。它看起来像这样。有一些小图像可以水平滚动,当我触摸它们时 - 打开大图像查看器。ImageSlider与图像查看器的iOS应用程序

slider with images image viewer

对于滑我创建UICollectionView并且每个小区是图像。如果我单击单元格,单独的ViewController(用作图像查看器)将被加载。在这个视图中有大图像的UIImageView。

这是我的问题清单: 1)什么是让用户能够通过滑动来更改图像查看器中图像的最佳方式 2)我最关心的是内存使用情况。因为即使只有很少的小图像,在模拟器中看起来也不是很平滑。 3)这是创建图像幻灯片查看器的正确方法,或者我错过了一些东西?也许有一些框架用缓存异步加载和其他很酷的功能来处理它?

+0

如果使用UIPageViewController,你的想法是什么,我的意思是你可以在contentviewcontroller上使用两个图像视图,一个用于小图像,另一个用于大图像。第一次你可以显示小图像库和隐藏大图像,当用户点击任何你可以隐藏的图像小图像库我用你想要的动画显示大图像。 –

+0

要在图像之间滑动,创建一个图像数组,并且每当用户滑动时,使用:** ImageView.image = myImages [i + 1] **或** [i-1] **,其中** i **将通过图像作为柜台。当您选择图像并准备继续时,请将i值传递给详细的图像视图控制器。这非常方便,因为您可以使用** i **值创建“i/15” –

回答

1

我不知道你的图像来自哪里。它是从服务器还是复制到应用程序中的捆绑包?

对于小图像,您应该使用缩略图(不要在其中加载大图像,而是预先处理图像并预先创建缩略图,例如500x500或更小并显示)。如果从服务器加载,请查看“延迟加载映像”,使用GCD处理异步进程。

使用CollectionView用于此目的很好。或者,您可以自定义UIPickerView,以在选定的图像上产生“捕捉”效果,而不是自由滚动。另一个替代方案是,您可以在github中找到自定义控件。

编辑:如果您的滚动遭受CollectionView的影响,您可能会使用layer.masksToBound = YES。这会使性能变差。不要使用这个。

+0

谢谢!图像从服务器加载 – moonvader

相关问题