IDBottomSheet 2.1.0

IDBottomSheet 2.1.0

Kirill Pustovalov 维护。



  • Kirill Pustovalov

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文件。