iMessage扩展 - 需要知道iMessages标头的高度

时间:2017-04-24 20:51:32

标签: ios uitableview imessage-extension

我正在研究“猫”iMessage扩展。 (好吧,我不是,但是客户要求我清理我的SO问题。)这是我在桌面上看到的内容:

enter image description here

正如您所看到的,我的表格部分标题在我的搜索栏下有很大的差距。我可以使用此代码轻松解决此问题。

    self.catsTableView.contentInset = UIEdgeInsetsMake(20, 0, 0, 0)

嗯,几乎很容易,20让我非常担忧。你看,20在不同的设备上是不同的。这是不可接受的,我无法对设备表进行硬编码。

我的第一个猜测是尝试调整顶部指南,但这总是零或约束,但我找不到一个可以调整!

问:为什么会出现差距?

答:存在差距,因为这是一个iMessage扩展,间隙的大小正好是上面“Kate”标题的大小。您可以在这两个屏幕截图中看到这一点。首先,iPhone7显示168px间隙,与168px标题完全相同。:

enter image description here

接下来在iPhone SE中显示126px间隙,与126px标题完全匹配:

enter image description here

有什么好的,独立于设备的方法来解决这个问题?

1 个答案:

答案 0 :(得分:0)

我在this question找到了答案。这是适用于我的代码。

override func viewDidLayoutSubviews() {
    self.recentQuotesTableView.contentInset = UIEdgeInsetsMake(self.topLayoutGuide.length, 0, 0, 0)
}

适用于所有设备,包括具有拆分视图的iPad。