clearsightstudio/ProMotion

View on GitHub
lib/ProMotion/cocoatouch/split_view_controller.rb

Summary

Maintainability
A
0 mins
Test Coverage
module ProMotion
  class SplitViewController < UISplitViewController
    def master_screen
      s = self.viewControllers.first
      s.respond_to?(:visibleViewController) ? s.visibleViewController : s
    end

    def detail_screen
      s = self.viewControllers.last
      s.respond_to?(:visibleViewController) ? s.visibleViewController : s
    end

    def master_screen=(s)
      self.viewControllers = [ (s.navigationController || s), self.viewControllers.last]
    end

    def detail_screen=(s)
      # set the button from the old detail screen to the new one
      button = detail_screen.navigationItem.leftBarButtonItem
      s.navigationItem.leftBarButtonItem = button

      self.viewControllers = [self.viewControllers.first, (s.navigationController || s)]
    end

    def screens=(s_array)
      self.viewControllers = s_array
    end
  end
end