Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- centerViewController = UIStoryboard.userMapViewController()
- 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 = UINavigationController(rootViewController: centerViewController)
- view.addSubview(centerNavigationController.view)
- addChild(centerNavigationController)
- centerNavigationController.didMove(toParent: self)
- let panGestureRecognizer = UIPanGestureRecognizer(target: self, action: #selector(handlePanGesture(_:)))
- centerNavigationController.view.addGestureRecognizer(panGestureRecognizer)
- }
- if notAlreadyExpanded {
- addLeftPanelViewController()
- }
- animateLeftPanel(shouldExpand: notAlreadyExpanded)
- }
- func addLeftPanelViewController() {
- guard leftViewController == nil else { return }
- if let vc = UIStoryboard.leftViewController() {
- addChildSidePanelController(vc)
- leftViewController = vc
- }
- }
- func animateLeftPanel(shouldExpand: Bool) {
- if shouldExpand {
- currentState = .leftPanelExpanded
- animateCenterPanelXPosition(
- targetPosition: centerNavigationController.view.frame.width - centerPanelExpandedOffset)
- } else {
- animateCenterPanelXPosition(targetPosition: 0) { _ in
- self.currentState = .leftPanelCollapsed
- self.leftViewController?.view.removeFromSuperview()
- self.leftViewController = nil
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement