CocoaPods is a dependency manager for Cocoa projects. For usage and installation instructions, visit their website. To integrate JKDrawer into your Xcode project using CocoaPods, specify it in your Podfile:
pod 'JKDrawer', '~> 0.6.0'
Carthage
Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks. To integrate JKDrawer into your Xcode project using Carthage, specify it in your Cartfile:
github "johankool/Drawer" ~> 0.6.0
Swift Package Manager
The Swift Package Manager is a tool for automating the distribution of Swift code and is included with Xcode 11+. To integrate JKDrawer into your Xcode project using Swift Package Manager, paste this URL into Xcode via File > Swift Packages > Add Package Dependency:
https://github.com/johankool/Drawer.git
Usage
To be able to present a view controller as a drawer it must conform to the DrawerPresentable protocol. This protocol requires that configuration variable is present. This is a DrawerConfiguration struct specifying certain aspects like initial offset and allowed range.
class DrawerViewController: UIViewController, DrawerPresentable {
var configuration = DrawerConfiguration(offset: 300, isDraggable: true, isClosable: false)
}
The presenting view controller must conform to the DrawerPresenting protocol. Some methods have default implementations, others are callbacks for your convenience.
Since you can’t open a drawer over a UINavigationController, consider using a custom view controller wrapping the UINavigationController instead or use DrawerNavigationController.
JKDrawer
A Maps like drawer for iOS.
Features:
Requirements
Installation
CocoaPods
CocoaPods is a dependency manager for Cocoa projects. For usage and installation instructions, visit their website. To integrate JKDrawer into your Xcode project using CocoaPods, specify it in your
Podfile
:Carthage
Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks. To integrate JKDrawer into your Xcode project using Carthage, specify it in your
Cartfile
:Swift Package Manager
The Swift Package Manager is a tool for automating the distribution of Swift code and is included with Xcode 11+. To integrate JKDrawer into your Xcode project using Swift Package Manager, paste this URL into Xcode via File > Swift Packages > Add Package Dependency:
Usage
To be able to present a view controller as a drawer it must conform to the
DrawerPresentable
protocol. This protocol requires that configuration variable is present. This is aDrawerConfiguration
struct specifying certain aspects like initial offset and allowed range.The presenting view controller must conform to the
DrawerPresenting
protocol. Some methods have default implementations, others are callbacks for your convenience.Navigation Controllers
Since you can’t open a drawer over a
UINavigationController
, consider using a custom view controller wrapping theUINavigationController
instead or useDrawerNavigationController
.License
Copyright (c) 2018-2021 Johan Kool
Licensed under the MIT license