ImageScrollView
这是一个可以帮助你轻松显示图像的控制条,具有可缩放和可滚动功能。
关于
当你制作一个具有照片查看功能的应用程序时,照片查看器通常需要具有可缩放和可滚动功能,以便用户可以查看更多细节的照片。此控制条可以帮助你轻松显示具有可缩放和滚动功能的图像。
兼容性
- iOS 9 及以上。
- Swift 5.0 及以上(对于更早的 Swift 版本,请使用更早的 ImageScrollView 版本)。
用法
Cocoapod
将以下行添加到您的Podfile中
pod 'ImageScrollView'
然后在Terminal中运行以下命令进行安装
pod install
注意:如果上述pod无法工作,请尝试在Podfile中使用以下pod定义
pod 'ImageScrollView', :git => 'https://github.com/huynguyencong/ImageScrollView.git'
Swift Package Manager
在Xcode中,选择菜单 文件 -> Swift Packages -> 添加包依赖。选择一个目标,然后将以下链接添加到输入字段: https://github.com/huynguyencong/ImageScrollView.git
手工安装
有时只需手动安装,只需将文件 ImageSrollView.swift
放置于项目的 Sources
文件夹中即可。
简单易用
将UIScrollView拖放到您的故事板中,然后在Identity Inspector中更改Class和Module到ImageScrollView。另外,在源文件中创建一个IBOutlet。
import ImageScrollView
@IBOutlet weak var imageScrollView: ImageScrollView!
// Important: This setup method should be called once, usually in your viewDidLoad() method
imageScrollView.setup()
let myImage = UIImage(named: "my_image_name")
imageScrollView.display(image: myImage)
就这样。现在尝试缩放和滚动以查看结果。
您可以设置代理以捕获事件。此代理继承自 UIScrollViewDelegate
。
imageScrollView.imageScrollViewDelegate = self
extension ViewController: ImageScrollViewDelegate {
func imageScrollViewDidChangeOrientation(imageScrollView: ImageScrollView) {
print("Did change orientation")
}
func scrollViewDidEndZooming(_ scrollView: UIScrollView, with view: UIView?, atScale scale: CGFloat) {
print("scrollViewDidEndZooming at scale \(scale)")
}
func scrollViewDidScroll(_ scrollView: UIScrollView) {
print("scrollViewDidScroll at offset \(scrollView.contentOffset)")
}
}
注意
- 如果在布局、图像位置等方面有任何问题,请确保已调用ImageScrollView的setup()方法。或者您也可以尝试在视图控制器的视图上调用
layoutIfNeeded()
方法。
view.layoutIfNeeded()
关于此源
此开源程序基于可在苹果网站上找到的 PhotoScroller 示例。原始程序用 Objective-C 编写。此开源项目使用 Swift 重新编写,并增加了某些新功能
- 双击进行缩放。
- 更加平滑。解决了放大时的问题,控制自动从中心而非角落进行缩放。
许可证
ImageScrollView 在 MIT 许可下发布。有关详细信息,请参阅 LICENSE。版权© Nguyen Cong Huy