ドキュメントによると、カスタム キーボードの高さを変更するのは簡単です。これは、Appleのドキュメントに示されているコードのswiftと同等のバージョンです
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
let constraint = NSLayoutConstraint(item: self.view, attribute: .Height, relatedBy: .Equal, toItem: nil, attribute: .NotAnAttribute, multiplier: 0.0, constant: 400.0)
self.view.addConstraint(constraint)
}
これは機能しますが、高さを一定の値に変更します。これは、デバイスの向きを変更した場合に望ましくありません。キーボードの高さを 400.0 に設定すると、ポートレート モードでは問題ないかもしれませんが、ランドスケープ モードでは適切ではない可能性があります。例: iPhone 5 の標準キーボード ビュー サイズは、縦向きで 320,216、横向きで 568,162 です。一定の高さを設定すると、キーボード ビューのサイズが縦向きで 320,400、横向きで 568,400 (実質的に画面全体) に変更されます。
私の唯一の考えは、すべてのデバイス タイプと各方向のキーボード ビュー サイズを含むディクショナリを作成し、デバイスの方向が変わるたびに一定の高さの制約を更新することです。よりエレガントなソリューションを見つけた人はいますか?