BottomSheet
使用 Swift & UIKit 构建的底部分页弹出窗口
安装
CocoaPods
CocoaPods 是 Cocoa 项目的依赖管理器。要将 BottomSheet 集成到您的项目中使用 CocoaPods,请在您的 Podfile
中指定它
pod 'IDBottomSheet'
之后,在您的终端中使用 pod install
命令。
手动
如果您不想使用任何依赖管理器,可以通过下载所需的版本并将 Sources
目录复制到您的项目中来手动将 BottomSheet 集成到您的项目中。
使用方法
创建
继承自 BottomSheetViewController
,然后像这样重写 viewDidLoad
class ViewController: BottomSheetViewController {
override func viewDidLoad() {
viewController = BottomSheetContentsViewController() //your view controller
isHalfPresentationEnabled = true //or false
super.viewDidLoad()
}
}
注意,设置 BottomSheetViewController
属性后,必须调用 super.viewDidLoad()
。
启用半尺寸显示
要启用半尺寸显示,将 isHalfPresentationEnabled
属性设置为 true
。
isHalfPresentationEnabled = false | isHalfPresentationEnabled = true |
---|---|
![]() |
![]() |
动画持续时间
要更改动画持续时间,设置 animationDuration
属性。
弹出框的起始和结束高度
要修改弹出框的起始高度和结束高度,调用 setupSizeWith(startHeight: CGFloat, endHeight: CGFloat)
方法。
弹出框圆角半径
要修改所有状态的弹出框圆角半径,调用 setupCornerRadiusForState(collapsed: CGFloat, halfPresented: CGFloat, expanded: CGFloat)
方法。要修改单个状态的弹出框圆角半径,调用 setupCornerRadiusForState(state: State, value: CGFloat)
方法。
行为
BottomSheet能识别对处理器的点击,并能识别在整个视图上的滑动。此外,BottomSheet还会分析你滑动的速度和位置。这意味着如果你缓慢滑动,且滑动终点位置低于弹窗高度的一半,则不会显示内容。如果你快速滑动,则总是显示弹窗。
示例
此仓库包含示例,其中您可以查看如何使用BottomSheet来显示Apple Music播放器的弹出窗口。
许可证
BottomSheet在MIT许可证下可用,有关更多信息,请参阅LICENSE文件。