如何为多个视图控制器使用 SWRevealviewcontroller 库

Posted

技术标签:

【中文标题】如何为多个视图控制器使用 SWRevealviewcontroller 库【英文标题】:How to use SWRevealviewcontroller libraries for more than one view controller 【发布时间】:2018-11-05 10:41:37 【问题描述】:

我已经使用SWrevealviewcontroller 来制作我的侧边菜单并且它工作成功,但是当我将它用于不同的视图控制器来制作另一个侧边菜单时它会出现问题 问题是

“View Controller”无法访问,因为它没有入口点,也没有通过 -[UIStoryboard instantiateViewControllerWithIdentifier:] 进行运行时访问的标识符

【问题讨论】:

【参考方案1】:
extension UIViewController 

func SetREvealviewcontroller(ControllerIdentifier:String,storyboardname:String) -> Void

let storyboard = UIStoryboard(name: storyboardname, bundle: nil)
let frontNavigationController:UINavigationController
let rearNavigationController:UINavigationController
let revealController = SWRevealViewController()
var mainRevealController = SWRevealViewController()



let sidebar = storyboard.instantiateViewController(withIdentifier:  "MenuViewController")as! MenuViewController
let homepage = storyboard.instantiateViewController(withIdentifier: ControllerIdentifier)

frontNavigationController =  UINavigationController(rootViewController: homepage)
rearNavigationController = UINavigationController(rootViewController: sidebar)
frontNavigationController.navigationBar.backgroundColor = UIColor.init(rgb:0x03253d)
frontNavigationController.navigationBar.barTintColor = UIColor.init(rgb:0x03253d)


revealController.frontViewController = frontNavigationController
revealController.rearViewController = rearNavigationController


frontNavigationController.navigationBar.isTranslucent = false




mainRevealController  = revealController

appDelegate.window?.rootViewController = mainRevealController

【讨论】:

self.SetREvealviewcontroller(ControllerIdentifier: "Your controller identifer", storyboardname:"Your storyboard" ) storyboardname 只有在你使用多个storyboard时才需要。 非常感谢您的回答,但现在我对视图控制器标识符感到困惑。知道如果我的第一个视图控制器属于 SWrevealviewcontroller 第二个,我有侧面菜单视图控制器和包含侧面菜单按钮的主视图控制器,您在方法标题中提到了哪些?

以上是关于如何为多个视图控制器使用 SWRevealviewcontroller 库的主要内容,如果未能解决你的问题,请参考以下文章

如何为 UIPageViewController 中的所有 webViews 文本字体启用缩放

如何为拆分视图控制器创建启动页面

如何为自定义表格视图单元格中的按钮单击获取不同的视图控制器

如何为每个视图控制器分别更改状态栏颜色?

如何为没有情节提要的 UIViewController (Swift) 提供标识符?

如何为 dojox.mobile 视图编写可重用的控制器代码