gpt4 book ai didi

swift - 如何打开从所有 View Controller 打开的 'LGSideMenuController' 侧边菜单?

转载 作者:行者123 更新时间:2023-11-28 13:35:57 24 4
gpt4 key购买 nike

我在我的项目中使用了“LGSideMenuController”。但它无法从我的所有 View Controller 打开。我想在我项目的所有 View Controller 中打开侧边菜单。但现在我可以从我的“HomeViewcontroller”打开它,而且只能打开一次。

在我的 AppDelegete.swift 文件中,我创建函数并在 otpviewcontroller 中调用它。

func createSideMenu(){

let storyBoard = UIStoryboard.init(name: "Main", bundle: nil)

let rootviewcontroller = storyBoard.instantiateViewController(withIdentifier: "HomeVC") as! HomeVC
let navigation = UINavigationController.init(rootViewController: rootviewcontroller)
let sideMenuVC = storyBoard.instantiateViewController(withIdentifier: "SideMenuVC") as! SideMenuVC

let sideMenuController = LGSideMenuController(rootViewController: navigation,
leftViewController: sideMenuVC,
rightViewController: nil)
sideMenuController.leftViewWidth = 280.0
sideMenuController.leftViewPresentationStyle = .scaleFromBig

self.window?.rootViewController = sideMenuController
self.window?.makeKeyAndVisible()
}

在我的“Homeviewcontroller”和其他 View Controller 中,我像这样打开侧边菜单。

@IBAction func sideMenuAction(_ sender: UIBarButtonItem) {

self.sideMenuController?.showLeftView(animated: true, completionHandler: nil)
}

它只在 HomeViewcontroller 中打开,但我想在我项目的所有 Viewcontroller 中打开它。我是 swift 的新手。请帮我。谢谢。

最佳答案

您可以使用与在“HomeViewcontroller”中相同的方法打开“LGSideMenuController”。

假设在另一个 View Controller 中,您想在单击按钮事件时打开“LGSideMenuController”,那么代码如下所示

@IBAction func openSideMenu(_ sender: Any) {
self.sideMenuController?.showLeftView(animated: true, completionHandler: nil)
}

编辑答案

我检查了您的代码,发现您试图在“LGSideMenuController”上呈现另一个 View Controller 屏幕,而不是使用推送转换。

请如下更改SideMenuVC Controller 中的代码

@IBAction func eventsAction(_ sender: Any) {
let vc = self.storyboard?.instantiateViewController(withIdentifier: "EventsVC") as! EventsVC
//let navigationController = UINavigationController(rootViewController: vc)
//self.present(navigationController, animated: true, completion: nil)
self.sideMenuController?.hideLeftViewAnimated()
self.sideMenuController?.rootViewController?.show(vc, sender: self)
}

在上面的代码中,我先隐藏了侧边菜单,然后在侧边菜单 Controller 中推送“EventsVC” View Controller 。请在其他按钮操作上应用相同的代码。

希望对您有所帮助。

关于swift - 如何打开从所有 View Controller 打开的 'LGSideMenuController' 侧边菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56625025/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com