如何为多个视图控制器使用 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 文本字体启用缩放