将单独的 xib 视图控制器加载到情节提要导航中[重复]
Posted
技术标签:
【中文标题】将单独的 xib 视图控制器加载到情节提要导航中[重复]【英文标题】:Load Separate xib view controller into Storyboard navigation [duplicate] 【发布时间】:2017-11-09 04:15:27 【问题描述】:我有 2 个故事板,两个故事板都有共同的屏幕。我已经将它创建为带有 xib 的单独视图控制器。我想在故事板屏幕之间加载它。
【问题讨论】:
【参考方案1】:您可以非常轻松地从 Nib 文件加载 VC。试试下面的代码:
func presentMyViewController()
let myVC = MainViewController(nibName:"MyViewController", bundle:nil)
self.navigationController.pushViewController(myVC, true);
// you could present it another way, such as:
// self.presentViewController(myVC, true, nil)
编辑:根据评论,我认为我们不能直接从情节提要加载 xib,但如果我们需要导航到 xib,那么您可以尝试上面的代码,或者您也可以直接在 viewcontroller 上添加子视图控制器。
【讨论】:
问题是如何在情节提要中做到这一点,而不是代码。 这里的问题首先并不清楚,其次是在否决任何回复之前,您应该考虑通过发布评论来表示确认。 @SrđanStanić 对不起,我投反对票太快了。你能编辑你的答案,以便我投票吗? 已编辑。用适当的描述提出问题会很有帮助。【参考方案2】:如下所示:
您可以在类中重写 loadview() 方法。
public class MyViewController
override func loadView()
Bundle.main.loadNibNamed("MyViewController", owner: self, options: [:])
//your stuff here...
当然假设您的 XIB 是 MyViewController.xib
。调整以适应。
编辑:还假设您已在 XIB 中正确设置了文件所有者引用(即到有问题的视图控制器)。
【讨论】:
以上是关于将单独的 xib 视图控制器加载到情节提要导航中[重复]的主要内容,如果未能解决你的问题,请参考以下文章