30 lines
922 B
Swift
30 lines
922 B
Swift
//
|
|
// UIViewController+Extension.swift
|
|
// SideMenu
|
|
//
|
|
// Created by kukushi on 10/02/2018.
|
|
// Copyright © 2018 kukushi. All rights reserved.
|
|
//
|
|
|
|
import UIKit
|
|
|
|
// Provides access to the side menu controller
|
|
public extension UIViewController {
|
|
|
|
/// Access the nearest ancestor view controller hierarchy that is a side menu controller.
|
|
var sideMenuController: SideMenuController? {
|
|
return findSideMenuController(from: self)
|
|
}
|
|
|
|
fileprivate func findSideMenuController(from viewController: UIViewController) -> SideMenuController? {
|
|
var sourceViewController: UIViewController? = viewController
|
|
repeat {
|
|
sourceViewController = sourceViewController?.parent
|
|
if let sideMenuController = sourceViewController as? SideMenuController {
|
|
return sideMenuController
|
|
}
|
|
} while (sourceViewController != nil)
|
|
return nil
|
|
}
|
|
}
|