iOS 8 自定义键盘自动布局键

Posted

技术标签:

【中文标题】iOS 8 自定义键盘自动布局键【英文标题】:iOS 8 Custom Keyboard AutoLayout Keys 【发布时间】:2014-11-26 19:25:08 【问题描述】:

我正在开发适用于 ios 8 的自定义键盘,但遇到了 AutoLayout 问题。 我的键盘是一个包含 UIView 的 .xib 文件,视图的大小是 320x220,这个大小非常适合 3.5 和 4 英寸的显示器,但是当我希望按键自动布局以适应 4.7 和 5.5 英寸的显示器时。

我希望按键自动更改其宽度和高度并在视图中居中。

这是我的 UIView 的样子:

如果有人能指导我如何使用 AutoLayout 实现我想要的,我将不胜感激。

谢谢!

【问题讨论】:

【参考方案1】:

这里有两种可能:

1。调整按键宽度

通过调整按键的宽度,您可以让它们一直跨越,就像在较小的屏幕上一样。为此,只需将每个键的前导和尾随约束分别添加到其上一个和下一个。还要添加从超级视图到第一个键的前导约束和从超级视图到最后一个键的尾随约束。最后,在所有键上添加等宽约束。

2。将键居中但保持大小

另一种选择是保持键的大小相同,但在视图中居中。为此,您将需要创建一个超级视图以将所有键(每行)放置在其中,然后将该视图放在键盘内。行的宽度应该是动态的(由其子项的组合宽度决定)。由于您将为键使用恒定的高度和宽度,因此超级视图可以确定其宽度。最后一步是在其容器(键盘)中水平居中键的超级视图。

【讨论】:

以上是关于iOS 8 自定义键盘自动布局键的主要内容,如果未能解决你的问题,请参考以下文章

一个高仿闲鱼键自定义数字键盘特效

iOS 8 自定义键盘扩展 UIKeyboardType

如何更改iOS自定义键盘的高度?

iOS 8 自定义键盘

无法在 iOS8 自定义键盘中获得约束

iOS 检测键盘布局(例如 QWERTY、AZERTY)