根据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