0

私は調査の 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)
}

私は永遠に感じるもののためにこれに取り組んできたので、どんな提案も歓迎します。

4

1 に答える 1