Files
SideMenu/Example/MainViewController.swift
T
2019-02-24 14:10:04 -08:00

111 lines
4.9 KiB
Swift

//
// MainViewController.swift
//
// Created by Jon Kent on 11/12/15.
// Copyright © 2015 Jon Kent. All rights reserved.
//
import SideMenu
class MainViewController: UIViewController {
@IBOutlet fileprivate weak var presentModeSegmentedControl:UISegmentedControl!
@IBOutlet fileprivate weak var blurSegmentControl:UISegmentedControl!
@IBOutlet fileprivate weak var darknessSlider:UISlider!
@IBOutlet fileprivate weak var shadowOpacitySlider:UISlider!
@IBOutlet fileprivate weak var screenWidthSlider:UISlider!
@IBOutlet fileprivate weak var shrinkFactorSlider:UISlider!
@IBOutlet fileprivate weak var blackOutStatusBar:UISwitch!
override func viewDidLoad() {
super.viewDidLoad()
setupSideMenu()
setDefaults()
}
fileprivate func setupSideMenu() {
// Define the menus
SideMenuManager.default.menuLeftNavigationController = storyboard!.instantiateViewController(withIdentifier: "LeftMenuNavigationController") as? UISideMenuNavigationController
SideMenuManager.default.menuRightNavigationController = storyboard!.instantiateViewController(withIdentifier: "RightMenuNavigationController") as? UISideMenuNavigationController
// Enable gestures. The left and/or right menus must be set up above for these to work.
// Note that these continue to work on the Navigation Controller independent of the View Controller it displays!
SideMenuManager.default.menuAddPanGestureToPresent(toView: self.navigationController!.navigationBar)
SideMenuManager.default.menuAddScreenEdgePanGesturesToPresent(toView: self.navigationController!.view)
// Set up a cool background image for demo purposes
// SideMenuManager.default.menuAnimationBackgroundColor = UIColor(patternImage: UIImage(named: "background")!)
}
fileprivate func setDefaults() {
// let styles:[UIBlurEffect.Style] = [.dark, .light, .extraLight]
// if let menuBlurEffectStyle = SideMenuManager.default.menuBlurEffectStyle {
// blurSegmentControl.selectedSegmentIndex = styles.index(of: menuBlurEffectStyle) ?? 0
// } else {
// blurSegmentControl.selectedSegmentIndex = 0
// }
//
// darknessSlider.value = Float(SideMenuManager.default.menuAnimationFadeStrength)
// shadowOpacitySlider.value = Float(SideMenuManager.default.menuShadowOpacity)
// shrinkFactorSlider.value = Float(SideMenuManager.default.menuAnimationTransformScaleFactor)
// screenWidthSlider.value = Float(SideMenuManager.default.menuWidth / view.frame.width)
// blackOutStatusBar.isOn = SideMenuManager.default.menuFadeStatusBar
}
@IBAction fileprivate func changeSegment(_ segmentControl: UISegmentedControl) {
// switch segmentControl {
// case presentModeSegmentedControl:
// let modes:[MenuPresentStyle] = [.menuSlideIn, .viewSlideOut, .viewSlideInOut, .menuDissolveIn]
// SideMenuManager.default.menuPresentStyle = modes[segmentControl.selectedSegmentIndex]
// case blurSegmentControl:
// if segmentControl.selectedSegmentIndex == 0 {
// SideMenuManager.default.menuBlurEffectStyle = nil
// } else {
// let styles:[UIBlurEffect.Style] = [.dark, .light, .extraLight]
// SideMenuManager.default.menuBlurEffectStyle = styles[segmentControl.selectedSegmentIndex - 1]
// }
// default: break;
// }
}
@IBAction fileprivate func changeSlider(_ slider: UISlider) {
// switch slider {
// case darknessSlider:
// SideMenuManager.default.menuAnimationFadeStrength = CGFloat(slider.value)
// case shadowOpacitySlider:
// SideMenuManager.default.menuShadowOpacity = slider.value
// case shrinkFactorSlider:
// SideMenuManager.default.menuAnimationTransformScaleFactor = CGFloat(slider.value)
// case screenWidthSlider:
// SideMenuManager.default.menuWidth = view.frame.width * CGFloat(slider.value)
// default: break;
// }
}
@IBAction fileprivate func changeSwitch(_ switchControl: UISwitch) {
// SideMenuManager.default.menuFadeStatusBar = switchControl.isOn
}
}
extension MainViewController: UISideMenuNavigationControllerDelegate {
func sideMenuWillAppear(menu: UISideMenuNavigationController, animated: Bool) {
print("SideMenu Appearing! (animated: \(animated))")
}
func sideMenuDidAppear(menu: UISideMenuNavigationController, animated: Bool) {
print("SideMenu Appeared! (animated: \(animated))")
}
func sideMenuWillDisappear(menu: UISideMenuNavigationController, animated: Bool) {
print("SideMenu Disappearing! (animated: \(animated))")
}
func sideMenuDidDisappear(menu: UISideMenuNavigationController, animated: Bool) {
print("SideMenu Disappeared! (animated: \(animated))")
}
}