Landscape表示での制約を変更すると、回転時に表示を切り替えるときの動作が安定しません。スクリーンショット)図1:Portrait→回転→Landscape時のカスタムキーボード図2:Landscape→回転→Portrait時のカスタムキーボード図3:Portrait→回転→Landscape時のカスタムキーボードシステムキーボードのような安定した動作にしたいと思っています。図4:Landscape→回転→Portrait時のシステムキーボード図1、図2、図3のように回転時にバネのように縮んだり伸びたりするキーボードを試行錯誤で修正した結果、現在このようなカスタムキーボードへと成長させることができました。図5:Landscape→回転→Portrait時のカスタムキーボード一見システムキーボードに近いのですが、2点、違うところがあります。Portraitへの回転開始時に、Landscape用のビューの上から、Portrait用のビューの頭がチラリと見えてしまうことです。(図5、左から2枚めの画像参照)2点めは、図3の不安定な動作が依然残っていることです。(図1と図2の現象はほぼ克服できました。)この2つの問題点を解決し、システムキーボードのようなスムーズな回転遷移を実現するには、どのような方法があるでしょうか?長くなりまして申し訳ないのですが、今どのようなコードで問題の動作に直面しているかをご理解いただくために、作成中アプリの状態を詳しく書いてみます。用のグループ内には、以下のファイルが入っている状態です。LandscapeViewControllerを切り替えることで、縦長時と横長時で制約の違うキーボードを実現できるのではと考えてつくってみたものです。何か根本的に間違っている点などありましたら、それもご指摘いただけますとありがたいです。PortraitViewControllerに指定しています。LandscapeViewControllerに指定しています。各XibのViewには、システムキーボードのような形でボタンを並べています。各インスタンスの入れ子関係を図にしてみました。Viewは4つで、ボタンの数はもう少し多いです。(開発中のカスタムキーボードのUIは、図1〜3や図5のサンプルキーボードのUIとは異なります。構造とコードは同様です。Viewの上下左右とぴったり合わせています。他サブビューすべて、IB上で制約を設定しています。Viewの制約はすべて999、Buttonの制約はすべて1000となっております。layer.cornerRadius、layer.shadowOffset、layer.shadowOpacity、layer.shadowRadiusも、IBで設定しています。layer.shadowColorは、PortraitViewControllerクラス、LandscapeViewControllerクラスにて、コードで設定しています。大体このような構造のものを作成しているとご理解いただければと思います。以下コードを書きますが、UIButtonインスタンスにリンクするアクションや、プロトコル、デリゲート(テキスト入力等につかうもの)などは省き、表示に関係するところのみに限定いたします。swiftファイルも、importはUIKitのみです。PortraitViewController.swift内のコードはこのようになっております。func名が変わるのみで同様です。Landscapeのキーボードサイズに固定する。viewを表示させ、Portraitのviewを隠す。キーボードの高さを変更する。Portraitのキーボードサイズに固定する。viewを表示させ、Landscapeのviewを隠す。キーボードの高さを変更する。