【发布时间】:2017-02-17 13:36:09
【问题描述】:
这是我的设置。我的主视图控制器顶部有一个UIScrollView,我在其中加载了多个视图控制器。我还有一个添加按钮,它将使用 Push segue 呈现一个新的视图控制器。
我希望这个视图控制器也只加载到滚动视图的顶部,而不是整个屏幕。
到目前为止,我尝试了 2 种不同的方法,但都没有成功:
-
在
prepareForSegue的滚动视图中添加视图控制器:override func prepare(for segue: UIStoryboardSegue, sender: Any?) { let addViewController = segue.destination as! AddViewController addChildViewController(addViewController) addViewController.view.frame = CGRect(x: 0, y: 0, width: width, height: height) scrollView.addSubview(addViewController.view) didMove(toParentViewController: self) } 在 UIButton 操作中添加视图控制器:
@IBAction func addDidTouch(_ sender: AnyObject) {
let addViewController = AddViewController()
addChildViewController(addViewController)
addViewController.view.frame = CGRect(x: 0, y: 0, width: width, height: height)
scrollView.addSubview(addViewController.view)
didMove(toParentViewController: self)
}
这两种解决方案都会使我的应用崩溃。
有没有办法正确实现这一点?
【问题讨论】: