BSZoomGridScrollView
BSZoomGridScrollView 是一个强大、纯 Swift 的 iOS UI 框架,提供具有以下功能的网格滚动视图:包含可缩放的图像数组,跟踪您的触摸区域。
屏幕截图
关于它如何工作的 YouTube 视频链接
link0
快速了解
/// 🥳 # Step1: let's import!
import BSZoomGridScrollView
struct ContentView: View {
@State var showSelectedImageView = false
@State var selectedImage: UIImage?
var itemsToZoom: [Any] = {
var images = [UIImage]()
for i in 0...29 {
images.append(UIImage(named: "s\(i)") ?? UIImage())
}
return images
}()
var body: some View {
/// 😊 # Step2. That's it. completed!
BSZoomGridScrollView(itemsToZoom: itemsToZoom,
powerOfZoomBounce: .regular,
scrollEnableButtonTintColor: .blue,
scrollEnableButtonBackgroundColor: .black,
isBeingDraggingOnItem:{ draggingImage in
///
},
didTapOnItem: { tapImage in
///
},
didLongPressItem: { longPressedImage in
///
},
didFinishDraggingOnItem: { draggedFinalImage in
///
})
.edgesIgnoringSafeArea(.all)
}
}
特点
- 专为 SwiftUI 设计,支持 100% SwiftUI。
- 提供开箱即用的复杂网格滚动视图 UI。
- 在网格滚动视图中跟踪用户的触摸区域,为元素提供缩放功能。
- BSZoomGridScrollView 将返回用户选择并通过内部长按和拖动手势检测到的图像,这些功能均为开箱即用。
- 可以根据列数、行数、缩放效果以及您想要在网格中显示的图像来定制网格 UI。
示例
要运行示例项目,请克隆仓库,然后首先从示例目录运行pod install
。它包括了UIKit和SwiftUI的示例。
要求
- iOS 13.0 或更高版本
- Swift 5.0 或更高版本
- Xcode 11.0 或更高版本
开始使用
- SwiftUI
/// To use BSZoomGridScrollView in a SwiftUI project,
/// Please, Follow steps written in the comments with Icon that will help you pay attention like 😀.
import SwiftUI
/// 🥳 # Step1: let's import!
import BSZoomGridScrollView
struct ContentView: View {
@State var showSelectedImageView = false
@State var selectedImage: UIImage?
var itemsToZoom: [Any] = {
var images = [UIImage]()
for i in 0...29 {
images.append(UIImage(named: "s\(i)") ?? UIImage())
}
return images
}()
var body: some View {
/// 😊 # Step2. That's it. completed!
BSZoomGridScrollView(itemsToZoom: itemsToZoom,
powerOfZoomBounce: .regular,
scrollEnableButtonTintColor: .blue,
scrollEnableButtonBackgroundColor: .black,
isBeingDraggingOnItem:{ draggingImage in
///
},
didTapOnItem: { tapImage in
///
},
didLongPressItem: { longPressedImage in
///
},
didFinishDraggingOnItem: { draggedFinalImage in
///
})
.edgesIgnoringSafeArea(.all)
}
}
- UIKit
///
/// To use BSZoomGridScrollView,
/// Please, Follow steps written in the comments with icon like 😀.
///
import SwiftUI
import UIKit
///
// 😚 #Step1: import BSZoomGridScrollView!
///
import BSZoomGridScrollView
class ViewController: UIViewController {
///
// prepare any item array to feed to BSZoomGridScrollViewController.
///
private var itemsToZoom: [Any] = {
return (0...1500).compactMap { _ in UIImage(systemName: "smiley") }
}()
///
// 😋 #Step2: declare BSZoomGridScrollView
///
private lazy var zoomGridScrollViewController: BSZoomGridScrollViewController = { [unowned self] in
///
/// It can be used on both SwiftUI and UIKit.
/// To see how it works on SwiftUI,
/// please refer to comments in SwiftUI directory -> ContentView.swift
///
return BSZoomGridScrollViewController(itemsToZoom: self.itemsToZoom,
powerOfZoomBounce: .regular,
scrollEnableButtonTintColor: .black,
scrollEnableButtonBackgroundColor: .white,
isBeingDraggingOnItem:{ [unowned self] draggingImage in
///
},
didTapOnItem: { [unowned self] tapImage in
///
},
didLongPressItem: { [unowned self] longPressedImage in
///
},
didFinishDraggingOnItem: { [unowned self] draggedFinalImage in
///
})
}()
///
// 😁 #Step3: Present it!
///
@IBAction func goToBSZoomGridScrollView(_ sender: Any) {
///
// 😎 That's all. well done.
///
self.present(zoomGridScrollViewController,
animated: true,
completion: nil)
}
///
// MARK: - ViewController LifeCycle Methods
///
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
安装
有四种方式在项目中使用BSZoomGridScrollView:
- 使用CocoaPods
- 使用Swift Package Manager
- 手动安装(构建框架或嵌入Xcode项目)
使用CocoaPods安装
CocoaPods是一个Objective-C的依赖管理器,它可以自动化并简化在项目中使用第三方库的过程。有关更多详情,请参阅入门部分。
Podfile
首先,
pod 'BSZoomGridScrollView'
然后在您的根项目中,
pod install
使用 Swift Package Manager (从 Xcode 11 开始)
Swift Package Manager (SwiftPM) 是一个用于管理 Swift 代码以及 C 系列依赖的工具。从 Xcode 11 开始,SwiftPM 已经原生集成到 Xcode 中。
BSZoomGridScrollView 从版本 5.1.0 开始支持 SwiftPM。要使用 SwiftPM,您应使用 Xcode 11 打开您的项目。点击 文件
-> Swift 包
-> 添加包依赖
,输入 BSZoomGridScrollView 仓库的 URL。或者,您可以使用 GitHub 账户登录 Xcode,直接输入 BSZoomGridScrollView
进行搜索。
选择包后,您可以选择依赖类型(标记版本、分支或提交)。然后 Xcode 将为您设置所有必需的内容。
如果您是框架的作者,并将 BSZoomGridScrollView 作为依赖项使用,请更新您的 Package.swift
文件
let package = Package(
dependencies: [
.package(url: "https://github.com/boraseoksoon/BSZoomGridScrollView", from: "0.1.1")
],
// ...
)
作者
许可证
BSZoomGridScrollView 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。
参考
PhotoCell : 一个你可以免费下载你喜欢的照片的 iOS 浏览应用。