Commit 1af9a3a2 by Daniel Dahan

fixed hide tabBar issue with MenuController by rearranging the hierarchy

parent 0eaec94e
......@@ -39,16 +39,15 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
let navigationController: AppNavigationController = AppNavigationController(rootViewController: RecipesViewController())
let menuController: AppMenuController = AppMenuController(rootViewController: navigationController)
menuController.edgesForExtendedLayout = .None
let bottomNavigationController: BottomNavigationController = BottomNavigationController()
bottomNavigationController.viewControllers = [/*menuController*/navigationController, VideoViewController(), PhotoViewController()]
bottomNavigationController.viewControllers = [navigationController, VideoViewController(), PhotoViewController()]
bottomNavigationController.selectedIndex = 0
bottomNavigationController.tabBar.tintColor = MaterialColor.white
bottomNavigationController.tabBar.backgroundColor = MaterialColor.grey.darken4
let sideNavigationController: SideNavigationController = SideNavigationController(rootViewController: bottomNavigationController, leftViewController: AppLeftViewController())
let menuController: AppMenuController = AppMenuController(rootViewController: bottomNavigationController)
let sideNavigationController: SideNavigationController = SideNavigationController(rootViewController: menuController, leftViewController: AppLeftViewController())
sideNavigationController.statusBarStyle = .LightContent
window = UIWindow(frame: UIScreen.mainScreen().bounds)
......
......@@ -40,27 +40,11 @@ class AppMenuController: MenuController {
/// MenuView diameter.
private let baseSize: CGSize = CGSizeMake(56, 56)
/// MenuView inset.
private let menuViewInset: CGFloat = 16
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override init(rootViewController: UIViewController) {
super.init(rootViewController: rootViewController)
}
override func viewDidLoad() {
super.viewDidLoad()
prepareMenuView()
}
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
closeMenu()
}
override func openMenu(completion: (() -> Void)? = nil) {
super.openMenu(completion)
sideNavigationController?.enabled = false
......@@ -97,6 +81,22 @@ class AppMenuController: MenuController {
}
}
/// Shows the menuView.
func showMenu() {
menuView.animate(MaterialAnimation.animationGroup([
MaterialAnimation.rotate(rotation: 3),
MaterialAnimation.translateY(0)
]))
}
/// Hides the menuView.
func hideMenu() {
menuView.animate(MaterialAnimation.animationGroup([
MaterialAnimation.rotate(rotation: 3),
MaterialAnimation.translateY(150)
]))
}
/// Prepares the menuView.
private func prepareMenuView() {
var image: UIImage? = MaterialIcon.cm.add
......@@ -140,9 +140,8 @@ class AppMenuController: MenuController {
menuView.delegate = self
view.layout.size(menuView, width: baseSize.width, height: baseSize.height)
view.layout.alignFromBottomRight(menuView, bottom: menuViewInset, right: menuViewInset)
view.layout.alignFromBottomRight(menuView, bottom: 65, right: 16)
}
}
/// MenuViewDelegate.
......
......@@ -50,5 +50,4 @@ class AppNavigationController: NavigationController {
tabBarItem.setTitleColor(MaterialColor.grey.base, forState: .Normal)
tabBarItem.setTitleColor(MaterialColor.white, forState: .Selected)
}
}
......@@ -75,20 +75,13 @@ class ItemViewController: UIViewController {
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
(menuController as? AppMenuController)?.hideMenu()
sideNavigationController?.enabled = false
// Stops the scrollView contentInsets from being automatically adjusted.
automaticallyAdjustsScrollViewInsets = false
// Customize the navigationItem.backButton image here.
// (navigationController?.navigationBar as? NavigationBar)?.backButtonImage = MaterialIcon.cm.audioLibrary
}
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
// Access the navigationItem.backButton here.
// navigationItem.backButton
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
(menuController as? AppMenuController)?.showMenu()
}
override func viewWillLayoutSubviews() {
......
......@@ -64,7 +64,7 @@ class RecipesViewController: UIViewController {
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
// Stops the tableView contentInsets from being automatically adjusted.
automaticallyAdjustsScrollViewInsets = false
automaticallyAdjustsScrollViewInsets = true
// Set the navigationBar style.
navigationController?.navigationBar.statusBarStyle = .LightContent
......@@ -73,26 +73,6 @@ class RecipesViewController: UIViewController {
sideNavigationController?.enabled = true
}
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
// Show the menuView.
menuController?.menuView.animate(MaterialAnimation.animationGroup([
MaterialAnimation.rotate(rotation: 3),
MaterialAnimation.translateY(0)
]))
}
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
// Disable the SideNavigation.
// Hide the menuView.
menuController?.menuView.animate(MaterialAnimation.animationGroup([
MaterialAnimation.rotate(rotation: 3),
MaterialAnimation.translateY(150)
]))
}
/// Handles the menuButton.
internal func handleMenuButton() {
sideNavigationController?.openLeftView()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment