iOS今日延伸神秘高地

iOS Today Extension Mystery Height

我目前正在开发 iOS Today 扩展程序,我遇到了扩展程序高度问题。我已经从头开始尝试了多次,但我似乎无法弄清楚额外高度的来源。 AutoLayout 哪里出错了。谢谢。

故事板视图:

场景视图:

视图尺寸检查器:

结果:

我也试过使用下面的,它是这样说的:

override func viewDidLoad() {
    super.viewDidLoad()
    self.preferredContentSize = CGSizeMake(0, 100);
}

编辑:这可能是一个 iOS 错误吗?

我已经为此苦苦思索了一段时间,但我注意到模拟器和物理设备上都有一个可重复的模式。如果我在模拟器上重置内容和设置,然后 运行 上面的 Today Extension,它会填满整个 space(即使它不符合我的 100 高度限制),但一旦我 'stop' 运行点击它,视图缩小到 100 高度并且底部有这个额外的填充。还有其他人遇到过这个吗?这是错误还是我造成的?

首先运行,而'running':

在 'stopping' 之后和随后的 'runs'

终于找到问题了!苹果有荒谬的违约率,尤其是在底部。更改它们的唯一方法是实施 widgetMarginInsetsForProposedMarginInsets 方法。这是 swift 代码:

func widgetMarginInsetsForProposedMarginInsets(defaultMarginInsets: UIEdgeInsets) -> UIEdgeInsets {
    return UIEdgeInsetsZero
}