【问题标题】:Swift: How to show child view controllers via storyboard rather than programmatically using XLPagerTabStripSwift:如何通过情节提要显示子视图控制器,而不是以编程方式使用 XLPagerTabStrip
【发布时间】:2016-10-13 20:19:36
【问题描述】:

我一直在关注 XLpagerTabStrip cocoapods 扩展,以便在我的视图控制器 (https://github.com/xmartlabs/XLPagerTabStrip) 顶部设置一个标签栏。我正在实现 ButtonBarPagerTabStripViewController 并完全按照步骤操作,但 UIScrollView 没有显示子视图控制器。

我认为这是因为在示例中,子视图控制器是以编程方式而不是在情节提要中设置的,而我的当前设置在情节提要中,因此不显示任何内容,但我无法做到请参阅通过情节提要将子视图控制器连接到 ButtonBarController。

有没有办法使用情节提要显示子视图控制器,还是必须以编程方式完成?

GitHub 页面说要实现以下功能(但如果您的子视图控制器是通过情节提要设置的,这似乎不起作用):

override public func viewControllersForPagerTabStrip(pagerTabStripController: PagerTabStripViewController) -> [UIViewController]
 {
  return [MyChildViewController(), MySecondChildViewController()]
}

【问题讨论】:

  • 只需使用标识符从情节提要中获取控制器,然后以编程方式添加它们。
  • 我目前有:覆盖 public func viewControllersForPagerTabStrip(pagerTabStripController: PagerTabStripViewController) -> [UIViewController] { return [MyChildViewController(), MySecondChildViewController()]。但是,如果您通过情节提要设置了视图控制器,这似乎不起作用
  • 请编辑问题并粘贴该课程的代码

标签: ios swift childviewcontroller childviews xlpagertabstrip


【解决方案1】:

你需要从storybard加载控制器:

override public func viewControllersForPagerTabStrip(pagerTabStripController: PagerTabStripViewController) -> [UIViewController]
{
    let storyboard = UIStoryboard(name: "Main", bundle: nil) 
    let childOneVC = storyboard.instantiateViewControllerWithIdentifier("childOneVC")
    let childTwoVC = storyboard.instantiateViewControllerWithIdentifier("childTwoVC")
    return [childOneVC, childTwoVC]
}

【讨论】:

  • 那我是不是直接把这行代码加到ButtonBarController上?
  • 转到情节提要并为子视图控制器添加标识符,然后从情节提要中加载它们。标识符必须是唯一的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-21
  • 1970-01-01
  • 2012-11-25
  • 2018-04-10
  • 2020-03-06
相关资源
最近更新 更多