A library that displays floating bottom sheet.
See the FloatingBottomSheet DocC documentation hosted on the Swift Package Index.
FloatingBottomSheet requires iOS 11+ and is compatible with Swift 5 projects.
The preferred way of installing FloatingBottomSheet is via the Swift Package Manager
- In Xcode, open your project and navigate to File → Add Packages
- Paste the repository URL (
https://github.com/OhKanghoon/FloatingBottomSheet) and click Next. - For Rules, select Up to Next Major Version.
- Click Add Package.
# Podfile
use_frameworks!
target 'YOUR_TARGET_NAME' do
pod 'FloatingBottomSheet'
endReplace YOUR_TARGET_NAME and then, in the Podfile directory, type:
$ pod installTo use the FloatingBottomSheet, your ViewController must conform to the FloatingBottomSheetPresentable protocol.
Start by implementing the bottomSheetScrollable and bottomSheetHeight properties.
final class ViewController: UIViewController, FloatingBottomSheetPresentable {
var bottomSheetScrollable: UIScrollView? {
// Return a scrollable view
}
var bottomSheetHeight: any FloatingBottomSheetSizing {
// Set the height of the bottom sheet
.fixed(400)
}
}You can choose from different sizing options:
-
Fixed height: Use
.fixed(_)for a constant heightvar bottomSheetHeight: any FloatingBottomSheetSizing { .fixed(400) }
-
Dynamic height: Use
.viewSizeThatFitsto calculate height based on contentvar bottomSheetHeight: any FloatingBottomSheetSizing { .viewSizeThatFits }
Simply present the floating bottom sheet using the presentFloatingBottomSheet function like this:
let viewController = ViewController()
presentFloatingBottomSheet(viewController)To update the bottom sheet's height dynamically during runtime, update your bottomSheetHeight property and call bottomSheetPerformLayout:
// Update your height property
bottomSheetHeight = .fixed(500)
// Apply the layout change
bottomSheetPerformLayout(animated: true)You can change the value of bottomSheetHeight to your desired sizing configuration
and then call the bottomSheetPerformLayout function to update the bottom sheet's layout with optional animation.
If you don't want animation, set animated to false.
FloatingBottomSheet is under MIT license. See the LICENSE for more info.

