根據documentation,更改自定義鍵盤的高度很簡單。下面是蘋果的文件iOS 8自定義鍵盤應用程序擴展 - 改變方向的高度
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(實際上是整個屏幕)橫向。
我唯一的想法現在是創建一個包含每個設備類型和每個方向的鍵盤視圖大小的字典,然後每個設備改變方向時更新恆定高度約束。有沒有人找到更優雅的解決方案?
也尋找同樣的答案 – honcheng 2014-09-25 03:35:10