我正在使用ENSwiftSideMenu
来显示侧边菜单。
问题是我没有使用导航栏而是使用自定义视图。导航栏已隐藏。
现在库中有一个方法可以将导航栏放在侧面菜单的顶部。
像这样:view.bringSubviewToFront(navBar)
现在我正在将此方法用于我的customView:
view.bringSubviewToFront`(customView)
但这不起作用。我按照库的建议将NavigationController
子类化了,但我仍然无法将customview
标题放在侧边菜单的顶部。
我在NavigationController
类中添加了一个方法:
func bringHeaderToFront(headerView:UIView) -> Void {
view.bringSubviewToFront(headerView)
}
但这不起作用。
以下是自定义NavigationController
代码:
class CustomNavigationController: ENSideMenuNavigationController {
override func viewDidLoad() {
super.viewDidLoad()
let sideMenuController:SideMenuController = SingletonClass.sharedInstance.getViewControllerFromStoryboard("SideMenuController") as! SideMenuController
sideMenu = ENSideMenu(sourceView: self.view, menuViewController: sideMenuController, menuPosition:.Left)
//sideMenu?.delegate = self //optional
sideMenu?.menuWidth = 220.0 // optional, default is 160
sideMenu?.bouncingEnabled = false
//sideMenu?.allowPanGesture = false
// make navigation bar showing over side menu
view.bringSubviewToFront(navigationBar)
}
func bringHeaderToFront(headerView:UIView) -> Void {
view.bringSubviewToFront(headerView)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// MARK: - ENSideMenu Delegate
func sideMenuWillOpen() {
print("sideMenuWillOpen")
}
func sideMenuWillClose() {
print("sideMenuWillClose")
}
func sideMenuDidClose() {
print("sideMenuDidClose")
}
func sideMenuDidOpen() {
print("sideMenuDidOpen")
}
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
}
*/
}
现在如何将我的自定义标题放在侧边菜单的前面/上面?