我正在研究“猫”iMessage扩展。 (好吧,我不是,但是客户要求我清理我的SO问题。)这是我在桌面上看到的内容:
正如您所看到的,我的表格部分标题在我的搜索栏下有很大的差距。我可以使用此代码轻松解决此问题。
self.catsTableView.contentInset = UIEdgeInsetsMake(20, 0, 0, 0)
嗯,几乎很容易,20让我非常担忧。你看,20在不同的设备上是不同的。这是不可接受的,我无法对设备表进行硬编码。
我的第一个猜测是尝试调整顶部指南,但这总是零或约束,但我找不到一个可以调整!
问:为什么会出现差距?
答:存在差距,因为这是一个iMessage扩展,间隙的大小正好是上面“Kate”标题的大小。您可以在这两个屏幕截图中看到这一点。首先,iPhone7显示168px间隙,与168px标题完全相同。:
接下来在iPhone SE中显示126px间隙,与126px标题完全匹配:
有什么好的,独立于设备的方法来解决这个问题?
答案 0 :(得分:0)
我在this question找到了答案。这是适用于我的代码。
override func viewDidLayoutSubviews() {
self.recentQuotesTableView.contentInset = UIEdgeInsetsMake(self.topLayoutGuide.length, 0, 0, 0)
}
适用于所有设备,包括具有拆分视图的iPad。