【问题标题】:Working with multi storyboard Xcode使用多故事板 Xcode
【发布时间】:2017-08-18 06:54:56
【问题描述】:


我目前正在使用多故事板项目以避免故事板冲突。
我正在使用 XCode 8.2.1,如果我使用 Storyboard Reference,这非常容易。但是当我将部署目标更改为 8.0 时,它会说“故事板参考不适用于 ios 8”,现在我想更改我的故事板结构,以确保该项目可以使用低于 9 的 ios。
我该怎么做?有人可以给我一个指导吗?
更多细节,下图是我设置的Main.storyboard
预先感谢。

更新:我尝试搜索并找到this question,但这并不能帮助我解决我的问题。这就是为什么我在这里创建一个新的寻求帮助的原因。

【问题讨论】:

  • @OMGHaFun 我不认为显示,您的参考链接被问到如何使用情节提要参考。我的问题是如何在不使用Storyboard Reference 的情况下从UITabBarController 推送。不过也谢谢你的提醒。

标签: ios xcode user-interface storyboard storyboard-reference


【解决方案1】:

简单。

首先,从您的 Main.storyboard 中删除您的 Storyboard Reference 然后在需要时以编程方式加载故事板。

例如,删除您的 loginVC 引用。然后在需要时使用以下代码加载情节提要和loginVC

斯威夫特 3

let storyboard = UIStoryboard(name: "YourStoruboardName", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: "YourVC_Identifire")
self.navigationController!.pushViewController(vc, animated: true)

别忘了设置Storyboard ID

注意:在 iOS 9 之前,无法以图形方式从其他故事板加载其他屏幕(通过参考)。因此,您需要通过代码从其他故事板加载您的其他屏幕。

【讨论】:

  • loginVC没问题。但我正在使用 UITabBarController 从其他故事板导航到其他屏幕。像chatVC、homeVC、ticketVC ......我的意思是如果它们不在同一个Main.storybard 中而不使用Storyboard Reference,我该如何从UITabBarController 导航到它们?
  • 如果您希望您的应用兼容低于 iOS 9 的版本,则必须删除 Storyboard Reference。因此,在上述答案中,我告诉了您另一种方法。而不是故事板参考。
  • 在 iOS 9 之前,无法以图形方式从其他故事板加载其他屏幕(通过参考)。因此,您需要通过代码从其他故事板加载您的其他屏幕。你可以使用上面的代码来做到这一点。
  • 这就是我的意思,我认为上面的代码只有在我想显示其他视图控制器时才使用?现在我需要做的就是每当 UITabBarController 上的一个项目点击tabBarController:didSelectViewController: 并使用上面的代码进行推送时处理?对吗?
  • 是的。当您从任何Storyboard 加载任何Viewcontroller 时,您可以使用/调用任何与ViewController 相关的图形segue。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-16
  • 2012-01-22
  • 2012-01-13
  • 1970-01-01
相关资源
最近更新 更多