SSASideMenu icon indicating copy to clipboard operation
SSASideMenu copied to clipboard

how to access appdelegate in sidemenu

Open ArjunSa786 opened this issue 8 years ago • 4 comments

    var storyboard:UIStoryboard = UIStoryboard(name:
        "Main", bundle: NSBundle.mainBundle())

    sideMenuViewController?.contentViewController = UINavigationController(rootViewController: (storyboard.instantiateViewControllerWithIdentifier("NotificationViewController") as? NotificationViewController)!)
    sideMenuViewController?.hideMenuViewController()

its go to that view controller but all property and object it nill and does not work menu this method not call sideMenuViewController?._presentLeftMenuViewController()

ArjunSa786 avatar Oct 12 '15 08:10 ArjunSa786

@ArjunSa786 is this the same issue that you had before I have updated my code https://github.com/SSA111/SSASideMenu/issues/25

LuaiKalkatawi avatar Oct 15 '15 08:10 LuaiKalkatawi

yes same issue LuaiKalkatawi

ArjunSa786 avatar Oct 15 '15 13:10 ArjunSa786

this code work with me

        guard let vacanceDetailsTableViewController = AppDelegate.storyboard.instantiateViewController(withIdentifier: "vacanceDetailsTableViewController") as? vacanceDetailsTableViewController else{completionHandler(.noData);return}
        vacanceDetailsTableViewController.id = Int(id) ?? 0
        vacanceDetailsTableViewController.getVacanceData = true
        guard let SSASideMenuView = AppDelegate.storyboard.instantiateViewController(withIdentifier: "SSASideMenuView") as? SSASideMenu else{completionHandler(.noData);return}
        SSASideMenuView.contentViewController = vacanceDetailsTableViewController
        let nav = UINavigationController(rootViewController: SSASideMenuView)
        guard let SSASide = window?.rootViewController as? SSASideMenu else{completionHandler(.noData);return}
        SSASide.contentViewController = nav
        completionHandler(.noData)

mohammadshalhoob avatar Jul 24 '17 06:07 mohammadshalhoob

and this to git top view with ssasidemenu

public class func topViewController(_ base: UIViewController? = UIApplication.shared.keyWindow?.rootViewController,returnNav:Bool=false) -> UIViewController? {
    if let SSASide = base as? SSASideMenu {
        if let nav = SSASide.contentViewController as? UINavigationController{
            if returnNav{
                return nav
            }else {
        return topViewController(nav.visibleViewController)
            }
        }else{ // without nav
        return topViewController(SSASide.contentViewController)
        }
    }
    if let nav = base as? UINavigationController {
        return topViewController(nav.visibleViewController)
    }
    
    if let tab = base as? UITabBarController {
        let moreNavigationController = tab.moreNavigationController
        
        if let top = moreNavigationController.topViewController, top.view.window != nil {
            return topViewController(top)
        } else if let selected = tab.selectedViewController {
            return topViewController(selected)
        }
    }
    
    if let presented = base?.presentedViewController {
        return topViewController(presented)
    }
    
    return base
}

mohammadshalhoob avatar Oct 03 '17 08:10 mohammadshalhoob