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
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
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