私は調査の iMessage アプリを作成しており (そうです)、プレゼンテーション モード間を移動する際に問題が発生しています。以下の一連のスクリーンショットは、アプリの起動時にコンパクト モードですべて問題ないことを示しています。展開するとすべてが正しいのですが、コンパクトに戻ると、大きなメッセージ ナビゲーション バーと同じ高さのように見えるコンテンツが下に移動します (86 だと思います)。
コンパクト ビューに戻すときに、上部の制約を -86 に設定しようとしましたが、これは何もしないか、本来あるべき場所に送り返し、86 を差し引いて、高すぎて消えてしまいます。私はこのプロジェクトをアプリの IceCream サンプル プロジェクトに基づいているので、この問題がどこから来ているのかわかりません (おそらく自動レイアウトですが、すべてがレイアウト ガイドに固定されています)。
ビューコントローラーを追加するコードは次のとおりです。
func loadTheViewController(controller: UIViewController) {
// Remove any existing child controllers.
for child in childViewControllers {
child.willMove(toParentViewController: nil)
child.view.removeFromSuperview()
child.removeFromParentViewController()
}
// Embed the new controller.
addChildViewController(controller)
controller.view.frame = view.bounds
controller.view.translatesAutoresizingMaskIntoConstraints = true
view.addSubview(controller.view)
controller.view.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
controller.view.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true
controller.view.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
controller.view.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
controller.didMove(toParentViewController: self)
}
私は永遠に感じるもののためにこれに取り組んできたので、どんな提案も歓迎します。