我在 MainViewController 中有一个 UIContainerView 已经加载 aViewController ,我想在 aViewController 中点击一个按钮后, UIContainerView 显示 bViewController 。
已经有如下代码: MainViewController.swift:
func showContentController( content: UIViewController ) {
addChildViewController( content )
content.view.frame = containerView.frame;
view.addSubview( content.view )
content.didMoveToParentViewController(self)
}
func hideContentController( content: UIViewController ) {
content.willMoveToParentViewController(nil)
content.view.removeFromSuperview()
content.removeFromParentViewController()
}
aViewController.swift:
@IBAction func pushButton(sender: UIButton) {
OffersMainViewController().hideContentController(self)
let storyboard = UIStoryboard(name: "StoryboardID", bundle: nil)
var vc: UIViewController = storyboard.instantiateViewControllerWithIdentifier("bViewController") as UIViewController
OffersMainViewController().showContentController(vc)
}
这是点击按钮会报错, containerView.frame 的值为 nil
我应该如何实现想要的功能呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.