class PrimeSlidingMenu::SidebarContainerScreen

Public Class Methods

new(menu, content, options = {}) click to toggle source
# File lib/prime_sliding_menu/sidebar_container_screen.rb, line 5
def self.new(menu, content, options = {})
  screen = self.alloc.initWithTopViewController(nil)
  screen.on_create(options.merge(navigation: false)) if screen.respond_to?(:on_create)
  screen.menu_controller = menu unless menu.nil?
  screen.content_controller = content unless content.nil?
  screen.setAnchorRightRevealAmount 260.0
  screen
end

Public Instance Methods

allow_sidebar?(touch) click to toggle source
# File lib/prime_sliding_menu/sidebar_container_screen.rb, line 70
def allow_sidebar?(touch)
  true
end
content_controller() click to toggle source
# File lib/prime_sliding_menu/sidebar_container_screen.rb, line 57
def content_controller
  self.topViewController
end
content_controller=(c) click to toggle source
# File lib/prime_sliding_menu/sidebar_container_screen.rb, line 39
def content_controller=(c)
  @content_controller_ref = prepare_controller(c)
  if should_reinit_content?(@content_controller_ref)
    self.topViewController = @content_controller_ref
    @content_controller_ref.view.addGestureRecognizer self.panGesture
    @content_controller_ref.view.addGestureRecognizer self.resetTapGesture
    self.resetTapGesture.delegate = self
    self.panGesture.delegate = self
  else
    content_controller.viewControllers = [@content_controller_ref]
  end
  hide_sidebar
end
gestureRecognizer(gestureRecognizer, shouldReceiveTouch: touch) click to toggle source
# File lib/prime_sliding_menu/sidebar_container_screen.rb, line 62
def gestureRecognizer(gestureRecognizer, shouldReceiveTouch: touch)
  if gestureRecognizer.is_a?(UITapGestureRecognizer)
    sidebar_visible?
  else
    allow_sidebar?(touch)
  end
end
hide_sidebar() click to toggle source
# File lib/prime_sliding_menu/sidebar_container_screen.rb, line 18
def hide_sidebar
  self.resetTopViewAnimated(false)
end
menu_controller() click to toggle source
menu_controller=(c) click to toggle source
show_sidebar() click to toggle source
# File lib/prime_sliding_menu/sidebar_container_screen.rb, line 14
def show_sidebar
  self.anchorTopViewToRightAnimated(false)
end
sidebar_visible?() click to toggle source
toggle_sidebar() click to toggle source
# File lib/prime_sliding_menu/sidebar_container_screen.rb, line 22
def toggle_sidebar
  if !sidebar_visible?
    show_sidebar
  else
    hide_sidebar
  end
end

Private Instance Methods

prepare_controller(controller) click to toggle source
# File lib/prime_sliding_menu/sidebar_container_screen.rb, line 82
def prepare_controller(controller)
  controller = setup_screen_for_open(controller, {})
  if should_reinit_content?(controller)
    controller.wrap_in_navigation if controller.respond_to?(:wrap_in_navigation)
    controller.send(:on_screen_load) if controller.respond_to?(:on_screen_load)
    controller = controller.main_controller if controller.respond_to?(:main_controller)
  else
    controller.navigation_controller = content_controller if controller.respond_to?(:navigation_controller)
    controller.send(:on_screen_load) if controller.respond_to?(:on_screen_load)
  end
  controller.strong_ref
end
should_reinit_content?(new_controller) click to toggle source
# File lib/prime_sliding_menu/sidebar_container_screen.rb, line 76
def should_reinit_content?(new_controller)
  content_controller.blank? ||
  content_controller.is_a?(MotionPrime::TabBarController) ||
  new_controller.is_a?(MotionPrime::TabBarController)
end