如何在IOS8键盘扩展上使用自动布局

时间:2014-09-28 13:17:28

标签: xcode swift ios8 xcode6 ios8-extension

尝试使用键盘扩展程序进行自动布局。最初我以为我会以编程方式制作按钮,但后来我意识到最好用xib做这个因为我的要求和多种屏幕尺寸。

请参阅下面的屏幕截图,了解我所做的当前配置。 按钮2: enter image description here

按钮1并在应用上发布: enter image description here

所有约束配置如下所示: enter image description here

我想在这里做的就是确保按钮填满屏幕宽度。它们可以扩展宽度以匹配屏幕尺寸和方向。不知怎的,我觉得它无法理解设备的宽度。我需要为此指定一些内容吗?

由于

3 个答案:

答案 0 :(得分:5)

确保在 viewDidLoad 上设置 UIView的维度,使其看起来像这样:

self.mainView.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);

我有同样的问题,这对我有用。你的约束条件很好。

答案 1 :(得分:1)

您对两个按钮之间的距离没有限制。尝试在每个按钮的按钮之间添加约束。

答案 2 :(得分:1)

Ben Flores的答案对我来说也是如此,但我必须将我的代码放在viewDidLayoutSubviews中。否则我的键盘会崩溃而不会出现。 Swift 3版本:

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    let frameSize = self.view.frame.size
    self.mainView.frame = CGRect(x: 0, y: 0, width: frameSize.width, height: frameSize.height)
}