私のビューには、子として2つのテーブルビューコントローラーを持つコンテナーがあります。
私はクラスのこのプロパティとして子を持っています
lazy var photoFeedVC: UserPicsTableViewController = self.makeAndAddVC()
lazy var postFeedVC: PostFeedVC = self.makeAndAddVC()
子を作る関数
func makeAndAddVC<T: UIViewController>() -> T {
let vc = T()
self.addChildViewController(vc)
return vc
}
viewDidAppearでコンテナのサイズを大きくした後、各テーブルビューをコンテナの底に固定したい。
photoFeedVC.tableView.snp.makeConstraints({(make) -> Void in
make.bottom.equalTo(containerView)
})
postFeedVC.tableView.snp.makeConstraints({ make -> Void in
make.bottom.equalTo(self.view)
})
これは一番下に修正しようとする制約ですが、xcodeでこのエラーが発生しました
*** キャッチされない例外 'NSGenericException' が原因でアプリを終了します。制約またはそのアンカーは、異なるビュー階層の項目を参照していますか? それは違法です。
ここでコンテナを増やす方法
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(true)
print("aparecio la vista")
containerView.frame.size.height += 150
self.feed.frame.size.height += 150.0
self.photoFeedVC.tableView.frame.size.height += 150.0
self.postFeedVC.tableView.frame.size.height += 150
self.scrollView.contentSize.height = containerView.height + 10
self.scrollView.layoutIfNeeded()
}