【发布时间】:2017-09-21 16:34:54
【问题描述】:
我正在开发“猫”iMessage 扩展程序。 (好吧,我不是,但客户要求我清理我的 SO 问题。)这是我在 tableView 中看到的:
如您所见,我的表格的部分标题在我的搜索栏下方有很大的空白。我可以用这段代码轻松解决这个问题。
self.catsTableView.contentInset = UIEdgeInsetsMake(20, 0, 0, 0)
嗯,几乎很容易,这 20 让我非常担心。你看,这 20 在不同的设备上是不同的。这是不可接受的,我无法对设备表进行硬编码。
我的第一个猜测是尝试调整顶部指南,但始终为零,或者是一个约束,但我找不到可以调整的!
问:为什么会有差距?
A: 有间隙是因为这是一个 iMessage 扩展,间隙的大小正好是上面“Kate”标头的大小。您可以在这两个屏幕截图中看到这一点。首先,显示 168px 间隙的 iPhone7 正好等于 168px 标题。:
接下来在 iPhone SE 中,显示 126px 的间隙,与 126px 的标头完全匹配:
有什么好的、独立于设备的方法来解决这个问题?
【问题讨论】:
-
一开始为什么会有差距?你的情节提要中有一个空的表头吗?故事板中的标题高度设置为 20?
-
@MikeTaverne - 我找到了为什么会有差距! iMessageExtension 将其放在那里。
-
好发现!我认为这指向了问题所在。查看useyourloaf.com/blog/extra-space-when-embedding-table-views
-
我看到了那些东西,非常有希望。我在另一个 SO question 上找到了解决方案。答案在下面...
标签: ios uitableview imessage-extension