底部抽屉 (BottomSheet)

一个使用 UIKit 构建的底部抽屉组件。

安装

Swift Package Manager (Swift 包管理器)

Xcode 项目

要向您的 Xcode 项目添加包依赖项,请选择 File > Swift Packages > Add Package Dependency (文件 > Swift 包 > 添加包依赖项) 并输入仓库 URL

https://github.com/gaetanomatonti/BottomSheet

Swift Package

编辑您的 Package.swift 文件并将仓库 URL 添加到 dependencies (依赖项) 中。

dependencies: [
    .package(url: "https://github.com/gaetanomatonti/BottomSheet", .upToNextMajor(from: "0.4.0"))
]

用法

呈现 (Presentation)

在您的视图控制器中存储一个新的 SheetTransitioningDelegate 实例。当呈现一个新的视图控制器时,您应该将其 modalPresentationStyle 设置为 .custom,并将其 transitioningDelegate 设置为您存储的 SheetTransitioningDelegate

let sheetTransitioningDelegate = SheetTransitioningDelegate()

func presentViewController() {
  let viewController = UIViewController()
  viewController.modalPresentationStyle = .custom
  viewController.transitioningDelegate = sheetTransitioningDelegate
  present(viewController, animated: true)
}

关闭 (Dismissal)

用户可以通过将抽屉向屏幕底部拖动或点击抽屉外部区域来交互式地关闭抽屉。 也可以像关闭任何其他视图控制器一样,以编程方式关闭抽屉。

func dismissSheet() {
  dismiss(animated: true)
}