KYDrawerController
KYDrawerController
is a side drawer navigation container view controller similar to Android.
- Storyboard Support
- AutoLayout Support
Installation
CocoaPods
KYDrawerController
is available on CocoaPods.
Add the following to your Podfile
:
pod 'KYDrawerController'
Manually
Just add the Classes folder to your project.
Usage
(see sample Xcode project in /Example
)
Code
import UIKit
import KYDrawerController
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
let mainViewController = MainViewController()
let drawerViewController = DrawerViewController()
let drawerController = KYDrawerController()
drawerController.mainViewController = UINavigationController(
rootViewController: mainViewController
)
drawerController.drawerViewController = drawerViewController
/* Customize
drawerController.drawerDirection = .Right
drawerController.drawerWidth = 200
*/
window = UIWindow(frame: UIScreen.mainScreen().bounds)
window?.rootViewController = drawerController
window?.makeKeyAndVisible()
return true
}
Storyboard
- Set the
KYDrawerController
to Custom Class of Initial ViewController.
- Connects the
KYEmbedDrawerControllerSegue
to DrawerViewController fromKYDrawerController
- Connects the
KYEmbedMainControllerSegue
to DrawerViewController fromKYDrawerController
- Set the SegueIdentifiers to inspector of
KYDrawerController
.
Open/Close Drawer
func setDrawerState(state: DrawerState, animated: Bool)
Delegate
optional func drawerController(_ drawerController: KYDrawerController, willChangeState state: KYDrawerController.DrawerState)
optional func drawerController(_ drawerController: KYDrawerController, didChangeState state: KYDrawerController.DrawerState)
Objective-C version
https://github.com/AustinChou/KYDrawerController-ObjC
License
This code is distributed under the terms and conditions of the MIT license.