【发布时间】:2017-11-09 04:15:27
【问题描述】:
我有 2 个故事板,两个故事板都有共同的屏幕。我已经将它创建为带有 xib 的单独视图控制器。我想在故事板屏幕之间加载它。
【问题讨论】:
标签: ios objective-c
我有 2 个故事板,两个故事板都有共同的屏幕。我已经将它创建为带有 xib 的单独视图控制器。我想在故事板屏幕之间加载它。
【问题讨论】:
标签: ios objective-c
您可以非常轻松地从 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 上添加子视图控制器。
【讨论】:
如下所示:
您可以在类中重写 loadview() 方法。
public class MyViewController {
override func loadView() {
Bundle.main.loadNibNamed("MyViewController", owner: self, options: [:])
}
//your stuff here...
}
当然假设您的 XIB 是 MyViewController.xib。调整以适应。
编辑:还假设您已在 XIB 中正确设置了文件所有者引用(即到有问题的视图控制器)。
【讨论】: