一个使用 UIKit 构建的底部抽屉组件。
要向您的 Xcode 项目添加包依赖项,请选择 File > Swift Packages > Add Package Dependency (文件 > Swift 包 > 添加包依赖项) 并输入仓库 URL
https://github.com/gaetanomatonti/BottomSheet
编辑您的 Package.swift
文件并将仓库 URL 添加到 dependencies (依赖项) 中。
dependencies: [
.package(url: "https://github.com/gaetanomatonti/BottomSheet", .upToNextMajor(from: "0.4.0"))
]
在您的视图控制器中存储一个新的 SheetTransitioningDelegate
实例。当呈现一个新的视图控制器时,您应该将其 modalPresentationStyle
设置为 .custom
,并将其 transitioningDelegate
设置为您存储的 SheetTransitioningDelegate
。
let sheetTransitioningDelegate = SheetTransitioningDelegate()
func presentViewController() {
let viewController = UIViewController()
viewController.modalPresentationStyle = .custom
viewController.transitioningDelegate = sheetTransitioningDelegate
present(viewController, animated: true)
}
用户可以通过将抽屉向屏幕底部拖动或点击抽屉外部区域来交互式地关闭抽屉。 也可以像关闭任何其他视图控制器一样,以编程方式关闭抽屉。
func dismissSheet() {
dismiss(animated: true)
}