これは私のセットアップです。私はUIScrollView
を私のメインビューコントローラの上に複数のビューコントローラをロードしています。私はまた、プッシュセグを使用して新しいView Controllerを表示するAddボタンを持っています。UIScrollView内にUIViewControllerをロードする方法
このビューコントローラーも、すべての画面ではなくスクロールビューの上にのみロードします。
私は今まで、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(_送信者: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)
}
これらのソリューションの両方が私のアプリケーションをクラッシュさせます。
これを正しく実装する方法はありますか?
アップルの[コンテナビューコントローラの実装](https://developer.apple.com/library/content/featuredarticles/ViewControllerPGforiPhoneOS/ImplementingaContainerViewController.html)をご覧ください。 –