Swiftpack.co - nicol3a/NBBottomSheet as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by nicol3a.
nicol3a/NBBottomSheet 1.2.0
An iOS library that presents a bottom sheet using Auto Layout.
⭐️ 60
🕓 6 days ago
.package(url: "https://github.com/nicol3a/NBBottomSheet.git", from: "1.2.0")


Carthage Compatible CocoaPods Compatible Swift 5.0 Platform License

NBBottomSheet is an open-source iOS library that allows you to present a UIViewController in a bottom sheet.



  • iOS 9.0+
  • Xcode 11+
  • Swift 5.0



To integrate NBBottomSheet into your Xcode project using CocoaPods, specify it in your Podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'

target 'YOUR_TARGET_NAME' do
    pod 'NBBottomSheet', '~> 1.2'

Then, run the following command:

$ pod install


To integrate NBBottomSheet into your Xcode project using Carthage, specify it in your Cartfile:

github "nicol3a/NBBottomSheet" ~> 1.1

Then, run the following command:

$ carthage update

Drag the built NBBottomSheet.framework from the Carthage build folder into the “Embedded Binaries” section in the "General" panel of the application target.


Add NBBottomSheet as a git submodule by running the following command:

$ git submodule add -b master https://github.com/nicol3a/NBBottomSheet.git

Drag the NBBottomSheet.xcodeproj file into your project and add the NBBottomSheet.framework in the "Embedded Binaries" section in the "General" panel of the application target.


Initialize an instance of NBBottomSheetController:

let bottomSheetController = NBBottomSheetController()

To display a view controller in a bottom sheet, add the following code where you want to display the bottom sheet, passing the view controller to present and the container view controller:

let viewController = AlertViewController()
bottomSheetController.present(viewController, on: self)

Note: Be sure to keep a strong reference to your instance of NBBottomSheetController for the duration of its use.

If you don’t want to use NBBottomSheetController’s default configuration, you can specify a NBBottomSheetConfiguration instance on initialization of NBBottomSheetController.

let configuration = NBBottomSheetConfiguration(animationDuration: 0.4, sheetSize: .fixed(300))
let bottomSheetController = NBBottomSheetController(configuration: configuration)


NBBottomSheet is available under the MIT license. See the LICENSE file for more information.



Stars: 60
Last commit: 6 days ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Release Notes

Sheet size configuration option
2 years ago
  • Add sheetSize option in NBBottomSheetConfiguration

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics