通过故事板自定义键盘高度

时间:2017-03-17 23:25:23

标签: ios storyboard custom-keyboard

所以我正在制作一个自定义键盘,但由于某些原因它的高度是强制的。我尝试在视图的属性和大小检查器中更改一些选项,但它从未帮助过。

到目前为止,这是我的尝试 Attempt 1 small
Attempt 1 temporary

正如您所看到的,当我运行我的项目时,与Apple的iOS键盘相比,键盘的高度变得太小。我注意到,短暂的一秒,键盘的高度变得正常(与Apple的iOS键盘大小相同)。

然后,我尝试通过给键盘包含视图固定高度来强制高度,而不是仅将其固定到容器的顶部边框。它有效,但它覆盖了所有粗糙的屏幕,所以它完全不实用。

所以我尝试给它一个与容器高度成比例的高度,不同的乘数值如0.3,但它恢复到原来的行为。它还填充了通常由正确的Apple iOS键盘大小占据的剩余空间,并带有白色背景色。

我正在使用Vertical StackView,它包含3个水平StackViews和所有按钮。我尝试删除StackViews并仅使用普通视图进行测试,但它也以同样的方式缩小,所以我猜这与自定义键盘扩展有关。 至于代码,我没有在键盘的ViewController模板中编辑任何内容,除了按钮读取标题和插入文本的操作。

如果不清楚,我通过创建单视图应用程序项目到达此阶段,并为其添加了自定义键盘扩展,作为新目标。我添加了一个故事板,我将主界面指向它。

关于如何实现自定义高度的任何想法都是容器高度的函数?

非常感谢

1 个答案:

答案 0 :(得分:1)

我在Reddit上回答你,但那是错的。我的键盘设置与你不同。您是否尝试在viewDidLoad()

中添加约束
let constraint = NSLayoutConstraint(item: self.view,
                                           attribute: .height,
                                           relatedBy: .equal,
                                           toItem: nil,
                                           attribute: .notAnAttribute,
                                           multiplier: 0.0,
                                           constant: 500) // Set custom height here
self.view.addConstraint(constraint)
相关问题