实现iOS应用程序的侧菜单,应用程序在手势上崩溃以呈现



我正在尝试使用此库 https://github.com/jonkykong/SideMenu 为我的iOS应用程序实现侧边菜单 通过代码实现,下面编写的代码在视图中确实加载了 func:

let menuRightNavigationController = UISideMenuNavigationController(rootViewController: SideMenuViewController())
SideMenuManager.default.menuRightNavigationController = menuRightNavigationController
SideMenuManager.default.menuFadeStatusBar = false
SideMenuManager.default.menuAddPanGestureToPresent(toView: self.navigationController!.navigationBar)
SideMenuManager.default.menuAddScreenEdgePanGesturesToPresent(toView: self.navigationController!.view)

但是应用程序在上述代码的最后两行崩溃,并且以下代码以按钮操作编写:

@objc func menuButtonAction(sender: UIButton!) {
present(SideMenuManager.default.menuRightNavigationController!, animated: true, completion: nil)    
}

伙计们请帮助处理崩溃,以便我可以展示我的侧菜单。谢谢!

我很确定您的应用程序在遇到此行中的nil值时会崩溃:SideMenuManager.default.menuAddPanGestureToPresent(toView: self.navigationController!.navigationBar),但是如果没有崩溃日志,我只能做出一些假设。

我假设这里的self指的是UIViewController类。根据文档,navigationController属性是视图控制器层次结构中最近的祖先,即导航控制器。如果视图控制器未嵌入在导航控制器中,则此属性为 nil。

我建议您确保在强制解包之前启动 UINavigationController 对象。这是有用的文档链接,它可以帮助您了解导航控制器的概念。

你需要从这个改变你是一行代码

SideMenuManager.default.menuAddPanGestureToPresent(toView: self.navigationController!.navigationBar)

对此

SideMenuManager.default.menuAddPanGestureToPresent(toView: self.view)

相关内容

  • 没有找到相关文章

最新更新