ios - 带有 iOS 应用程序图像查看器的 ImageSlider

标签 ios swift uicollectionview imageview

我正在我的应用程序中创建图像 slider 。看起来像这样。我可以水平滚动一些小图像,当我触摸它们时,大图像查看器会打开。

slider with images image viewer

对于 slider ,我创建了 UICollectionView,每个单元格都是图像。如果我单击单元格,则会加载单独的 ViewController(用作图像查看器)。在这个 View 中有用于大图像的 UIImageView。

这是我的问题 list : 1)让用户能够通过滑动更改图像查看器中的图像的最佳方法是什么 2)我最应该关心内存使用的地方。因为即使只有很少的小图像,它在模拟器中看起来也不是很流畅。 3) 这是创建图像幻灯片查看器的正确方法还是我遗漏了什么?也许有一些框架可以处理缓存异步加载和其他很酷的功能?

最佳答案

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

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

为此目的使用 CollectionView 很好。或者,您可以自定义 UIPickerView 以在所选图像上具有“捕捉”效果,而不是自由滚动。另一种选择是自定义控件,您可以在 github 中找到它。

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

关于ios - 带有 iOS 应用程序图像查看器的 ImageSlider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42060677/

相关文章:

ios - Swift 替换子字符串正则表达式

ios - 删除 uicollectionview 顶部的额外空间

c# - CollectionView 单元格高度不会自动调整大小

ios - 安装 iOS 6 sdk 文档时出错

ios - 应用内购买产品未显示在产品请求中?

ios - 如何使用 swift 将 MKPolyline 属性存储为可转换的 IOS 核心数据?

swift - 如何重置 UICollectionVIewCell 的背景颜色

ios - 如何使用Sprite Kit创建弯曲的水平边界

ios - 有没有办法教 tesseract for iOS 一种新字体?

ios - UITEXTFIELD 输入数据到警告框 ok clicked