所以我正在制作一个自定义键盘,但由于某些原因它的高度是强制的。我尝试在视图的属性和大小检查器中更改一些选项,但它从未帮助过。
到目前为止,这是我的尝试
Attempt 1 small
Attempt 1 temporary
正如您所看到的,当我运行我的项目时,与Apple的iOS键盘相比,键盘的高度变得太小。我注意到,短暂的一秒,键盘的高度变得正常(与Apple的iOS键盘大小相同)。
然后,我尝试通过给键盘包含视图固定高度来强制高度,而不是仅将其固定到容器的顶部边框。它有效,但它覆盖了所有粗糙的屏幕,所以它完全不实用。
所以我尝试给它一个与容器高度成比例的高度,不同的乘数值如0.3,但它恢复到原来的行为。它还填充了通常由正确的Apple iOS键盘大小占据的剩余空间,并带有白色背景色。
我正在使用Vertical StackView,它包含3个水平StackViews和所有按钮。我尝试删除StackViews并仅使用普通视图进行测试,但它也以同样的方式缩小,所以我猜这与自定义键盘扩展有关。 至于代码,我没有在键盘的ViewController模板中编辑任何内容,除了按钮读取标题和插入文本的操作。
如果不清楚,我通过创建单视图应用程序项目到达此阶段,并为其添加了自定义键盘扩展,作为新目标。我添加了一个故事板,我将主界面指向它。
关于如何实现自定义高度的任何想法都是容器高度的函数?
非常感谢
答案 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)