class Bluesky::NavigationController
Public Class Methods
new(root_view_controller)
click to toggle source
Calls superclass method
# File lib/bluesky/navigation_controller.rb, line 8 def initialize(root_view_controller) raise 'NavigationController requires a root_view_controller' unless root_view_controller super add_child_view_controller(root_view_controller) end
new(*args)
click to toggle source
Calls superclass method
# File test/test_helper.rb, line 67 def self.new *args instance = super instance.parent = MockApplication.new instance end
Public Instance Methods
pop_to_root_view_controller()
click to toggle source
# File lib/bluesky/navigation_controller.rb, line 102 def pop_to_root_view_controller pop_to_view_controller(root_view_controller) end
pop_to_view_controller(view_controller)
click to toggle source
# File lib/bluesky/navigation_controller.rb, line 85 def pop_to_view_controller(view_controller) index = @children.index(view_controller) count = index.nil? ? 0 : index + 1 removed = @children[count..-1] @children = @children[0...count] removed.each { |child| child.begin_appearance_transition(false) } top_view_controller.begin_appearance_transition(@appearance == :appeared) force_update do top_view_controller.end_appearance_transition() removed.each do |child| child.parent = nil child.end_appearance_transition() end end return removed end
pop_view_controller()
click to toggle source
# File lib/bluesky/navigation_controller.rb, line 72 def pop_view_controller pre { top_view_controller != root_view_controller } popped_view_controller = top_view_controller popped_view_controller.begin_appearance_transition(false) popped_view_controller.remove_from_parent_view_controller() top_view_controller.begin_appearance_transition(@appearance == :appeared) force_update do top_view_controller.end_appearance_transition() popped_view_controller.end_appearance_transition() end return popped_view_controller end
push_view_controller(view_controller)
click to toggle source
# File lib/bluesky/navigation_controller.rb, line 60 def push_view_controller(view_controller) old_view_controller = top_view_controller old_view_controller.begin_appearance_transition(false) view_controller.begin_appearance_transition(@appearance == :appeared) add_child_view_controller(view_controller) force_update do view_controller.end_appearance_transition old_view_controller.end_appearance_transition end return end
root_view_controller()
click to toggle source
# File lib/bluesky/navigation_controller.rb, line 38 def root_view_controller @children.first end
top_view_controller()
click to toggle source
# File lib/bluesky/navigation_controller.rb, line 42 def top_view_controller @children.last end
view()
click to toggle source
# File lib/bluesky/navigation_controller.rb, line 14 def view top_view_controller.view end
view_controllers()
click to toggle source
# File lib/bluesky/navigation_controller.rb, line 50 def view_controllers @children end
view_controllers=(controllers)
click to toggle source
# File lib/bluesky/navigation_controller.rb, line 54 def view_controllers=(controllers) index = @children.index(controllers.last) pop_to_root_view_controller(controllers.last) unless index.nil? @children.replace(controllers) end
view_did_appear()
click to toggle source
Calls superclass method
# File lib/bluesky/navigation_controller.rb, line 23 def view_did_appear super top_view_controller.end_appearance_transition end
view_did_disappear()
click to toggle source
Calls superclass method
# File lib/bluesky/navigation_controller.rb, line 33 def view_did_disappear super top_view_controller.end_appearance_transition end
view_will_appear()
click to toggle source
Calls superclass method
# File lib/bluesky/navigation_controller.rb, line 18 def view_will_appear super top_view_controller.begin_appearance_transition(true) end
view_will_disappear()
click to toggle source
Calls superclass method
# File lib/bluesky/navigation_controller.rb, line 28 def view_will_disappear super top_view_controller.begin_appearance_transition(false) end
visible_view_controller()
click to toggle source
# File lib/bluesky/navigation_controller.rb, line 46 def visible_view_controller top_view_controller end