我一直在嘗試做一個左滑出菜單幾天。我不能得到任何的庫與我的應用程序工作,所以我使出raywenderlich的教程:快速滑出菜單,無需滑動導航欄(編程)
http://www.raywenderlich.com/78568/create-slide-out-navigation-panel-swift
但是,它不會做我想要什麼。我的主要問題是,當我滑出菜單時,導航欄隨之滑出。我需要我的導航欄保留它的位置,並且只將其下面的內容移動。
我試過「self.view.bringSubviewToFront(navigationController.navigationBar)」但那沒用。
這裏是什麼,我試圖完成的屏幕截圖。
我目前的設置是使用在我appDelegate's
didFinishLaunchingWithOptions`設置ContainerViewController
發:
window = UIWindow(frame: UIScreen.mainScreen().bounds)
let containerViewController = ContainerViewController()
window!.rootViewController = containerViewController
window!.makeKeyAndVisible()
return true
這ContainerViewController越來越2個childViewControllers。
的CenterViewControllerController(我的內容)
的CenterViewController將有navigationController正確設置。
var centerNavigationController: NavigationController!
var centerViewController: CenterViewController!
在ContainerViewController
viewDidLoad
:
override func viewDidLoad() {
super.viewDidLoad()
centerViewController = UIStoryboard.centerViewController()
centerViewController.delegate = self
// wrap the centerViewController in a navigation controller, so we can push views to it
// and display bar button items in the navigation bar
centerNavigationController = NavigationController(rootViewController: LandingPageVC())
view.addSubview(centerNavigationController.view)
addChildViewController(centerNavigationController)
centerNavigationController.didMoveToParentViewController(self)
let panGestureRecognizer = UIPanGestureRecognizer(target: self, action: "handlePanGesture:")
centerNavigationController.view.addGestureRecognizer(panGestureRecognizer)
}
和SidePanelViewController(我的菜單&的問題之一)
var leftViewController: SidePanelViewController?
func addLeftPanelViewController() {
if (leftViewController == nil) {
leftViewController = SidePanelViewController()
addChildSidePanelController(leftViewController!)
}
}
func addChildSidePanelController(sidePanelController: SidePanelViewController) {
println("addChildSidePanelController")
view.insertSubview(sidePanelController.view, atIndex: 0)
addChildViewController(sidePanelController)
sidePanelController.didMoveToParentViewController(self)
}
的SidePanelViewController
目前沒有一個navigationController。我曾嘗試添加它。但是這並沒有達到預期的結果。
根據該意見,我需要做的就是以某種方式使ContainerViewController具有navigationController的人,所以什麼都的它childControllers應該有呢?但我不知道如何去添加該級別的navigationController。
任何幫助將不勝感激! (我沒有使用故事板)
圖書館我想:
ENSwiftSideMenu(沒有我想要的東西。但是,花了2天嘗試使它沒有結果工作)
布賴恩降臨的YouTube教程
Dekatotoro的SlideMenuControllerSwift
wanaya /滑動菜單
SWRevealViewController斯威夫特
假設它是需要嵌入到導航控制器中的ContainerViewController,這是正確的。您只需在應用程序委託中使用ContainerViewController作爲其rootViewController實例化導航控制器。然後使導航控制器成爲窗口的rootViewController。子控制器不應該嵌入到他們自己的導航控制器中(如果我明白你想要什麼,但這取決於你在MenuController中選擇菜單項時想要發生什麼)。 – rdelmar 2015-04-03 22:42:55
順便說一下,這條線應該做什麼:'centerViewController = UIStoryboard.centerViewController()'? UIStoryboard沒有這個功能,無論如何,我還以爲你沒有使用故事板。 – rdelmar 2015-04-03 23:00:28
@rdelmar我會試着看看我不能這樣做。我想我知道我該如何去做:),至於故事板的東西。雷的檔案有他們。我還沒有弄清楚如何在不破壞東西的情況下完全刪除他的故事板,但那不是我現在的主要問題。這些功能是他在擴展中指定的一些功能。但我不使用它們。只是現在刪除它們會導致錯誤。我還有其他幾個問題。但是這是唯一一個可能意味着我不得不重做一切的人。所以我需要在其他人面前解決這個問題。 – 2015-04-04 00:17:36