我在我的应用中创建了图片滑块。看起来像这样。有一些小图像,我可以水平滚动,当我触摸它们时 - 大图像查看器打开。
对于滑块我创建了UICollectionView,每个单元格都是图像。如果我单击单元格,则会加载单独的ViewController(用作图像查看器)。在这个视图中有UIImageView用于大图像。
这是我的问题清单: 1)通过滑动使用户能够在图像查看器中更改图像的最佳方法是什么 2)我应该关注内存使用情况。因为即使只有很少的小图像,它在模拟器中看起来也不是很平滑。 3)这是创建图像幻灯片查看器的正确方法还是我遗漏了什么?也许有一些框架可以处理缓存异步加载和其他很酷的功能?
答案 0 :(得分:1)
我不知道你的图片来自哪里。是从服务器还是在应用程序中复制到捆绑包?
对于小图片,你应该使用缩略图(不要在那里加载大图像,而是预先处理图像并预先创建像500x500这样的缩略图或更小的图像并显示)。如果从服务器加载,请查找“延迟加载图像”,使用GCD处理异步过程。
为此目的使用CollectionView很好。或者,您可以自定义UIPickerView以在所选图像上具有“捕捉”效果,而不是自由滚动。另一个替代方案是,您可以在github中找到自定义控件。
编辑:如果您的滚动受到CollectionView的影响,您可能正在使用layer.masksToBound = YES。这会使性能变差。不要使用它。