【问题标题】:How to use ProMotion-Menu?如何使用 ProMotion-Menu?
【发布时间】:2015-03-16 20:12:18
【问题描述】:

我只使用Promotion-Menu's Readme 中显示的代码做了一个新项目。我有这个:

# app_delegate.rb
class AppDelegate < PM::Delegate
  def on_load(app, options)
    @menu = open MenuDrawer
  end

  def show_menu
    @menu.show :left
  end
end

#menu_drawer.rb
class MenuDrawer < PM::Menu::Drawer

  def setup
    self.center = HomeScreen.new(nav_bar: true)
    self.left = NavigationScreen
    self.to_show = [:pan_bezel, :pan_nav_bar]
    self.transition_animation = :swinging_door
    self.max_left_width = 250
    self.shadow = false
  end

end

#navigation_screen.rb
class NavigationScreen < ProMotion::TableScreen

  def table_data
    [{
      title: nil,
      cells: [{
        title: 'OVERWRITE THIS METHOD',
        action: :swap_center_controller,
        arguments: HomeScreen
      }]
    }]
  end

  def swap_center_controller(screen_class)
    app_delegate.menu.center_controller = screen_class
  end

end

我的应用程序正在运行,但没有侧边栏,您可以在此处看到:

我错过了什么吗?

【问题讨论】:

    标签: rubymotion rubymotion-promotion


    【解决方案1】:

    没有。你有什么应该工作。您必须平移挡板或导航栏以显示左侧控制器(首次打开应用程序时隐藏)。我一直在考虑在示例中添加一个菜单按钮以使其更清晰。以下是它的工作原理:

    # home_screen.rb
    class HomeScreen < PM::Screen
      title "Home"
    
      def on_load
        set_nav_bar_button :right, title: "Menu", action: :open_menu
      end
    
      def open_menu
        app_delegate.show_menu
      end
    end
    
    # navigation_screen.rb
    class NavigationScreen < ProMotion::TableScreen
      def table_data
        [{
          title: nil,
          cells: [{
            title: 'HomeScreen',
            action: :swap_center_controller,
            arguments: HomeScreen.new(nav_bar: true)
          },{
            title: 'HelpScreen',
            action: :swap_center_controller,
            arguments: HelpScreen.new(nav_bar: true)
          }]
        }]
      end
    
      def swap_center_controller(screen)
        app_delegate.menu.center_controller = screen
        app_delegate.menu.hide
      end
    end
    

    您的AppDelegateMenuDrawer 将保持不变。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多