Ruby Motion 中的导航 + 选项卡 - 加载时不显示选项卡标题

Posted

技术标签:

【中文标题】Ruby Motion 中的导航 + 选项卡 - 加载时不显示选项卡标题【英文标题】:Nav + Tabs in Ruby Motion - not showing tabbar titles upon load 【发布时间】:2013-10-02 13:28:34 【问题描述】:

我正在尝试使用 Ruby Motion 构建一个基本的 Nav + Tab iPhone 应用程序。喜欢这个产品(顺便说一句!)。

问题是构建后您看不到标签栏标题。感谢任何帮助。

首先,我在控制器 MatchesListController.rb 中设置标题

def init
  #title of first tab
  if super
    self.tabBarItem = UITabBarItem.alloc.initWithTitle('Matches', image:nil, tag:3)
  end
  self
end

然后我将所有的 NavController 加载到 TabController 中。

@postViewController = PostsListController.alloc.init
@postNavController = UINavigationController.alloc.initWithRootViewController(@postViewController)

@messagesViewController = MessagesListController.alloc.init
@messagesNavController = UINavigationController.alloc.initWithRootViewController(@messagesViewController)

@matchesViewController = MatchesListController.alloc.init
@matchesNavController = UINavigationController.alloc.initWithRootViewController(@matchesViewController)

@activitiesViewController = ActivitiesListController.alloc.init
@activitiesNavController = UINavigationController.alloc.initWithRootViewController(@activitiesViewController)


@window = UIWindow.alloc.initWithFrame(UIScreen.mainScreen.bounds)

@tabbar = UITabBarController.alloc.init
@tabbar.viewControllers = [
  @postNavController,
  @messagesNavController,
  @matchesNavController,
  @activitiesNavController
]
@tabbar.selectedIndex = 0

##### NAV CONTROLLER ######

@window.rootViewController = @tabbar
#@window.rootViewController.wantsFullScreenLayout = true
@window.makeKeyAndVisible

【问题讨论】:

@vacawama 是正确的。如果您不想做所有这些样板,请查看ProMotion (/shameless plug)。 感谢您的建议,但我回避 ProMotion,因为我不知道如何设置它曾经如此神奇地出现在屏幕上的元素。您是否想过制作一些有关如何与 Pixate 集成的文档?谢谢! 是的,ProMotion 与 Pixate 配合得很好。我确实计划为它制作一些文档。我建议首先查看styling guide。 ProMotion 屏幕本质上只是 UIViewController,因此您可以使用它们执行任何使用 UIVC 可以执行的操作。 【参考方案1】:

我想通了。我只需要在 app_delegate.rb 中声明它

@postViewController = PostsListController.controller
@postNavController = UINavigationController.alloc.initWithRootViewController(@postViewController)
@postNavController.tabBarItem = UITabBarItem.alloc.initWithTitle('News Feed', image:nil, tag:2)

【讨论】:

以上是关于Ruby Motion 中的导航 + 选项卡 - 加载时不显示选项卡标题的主要内容,如果未能解决你的问题,请参考以下文章

一个选项卡导航器中的多个屏幕

仅刷新包含 iframe 的引导程序中的当前导航选项卡

Laravel 6 导航选项卡无法导航到仅显示在 url (myweb/pages#tab1) 中的选项卡

如何让引导选项卡链接链接到 ruby​​ on rails 中的另一个部分文件以显示内容?

在 TabBarController 中的选项卡之间切换/导航

删除导航抽屉中的“设置”选项卡