embedded在其他视图中的UITableView的段标题位置不正确
我有一个UITableViewembedded在另一个视图,如下所示:
导航控制器以模态方式显示,所以它的布局应该是全屏幕,而不依赖于故事板的任何其他部分。 如果使用固定的自动布局约束来设置configuration文件视图的上半部分,如下所示:
- 图像视图顶部布局指南(灰色):20pt
- 图像视图为“交易”标签:20pt
- “交易”标签到容器视图:20pt
- 容器视图距离底部布局指南,前后空格:全0pt。
所以基本上,当屏幕较大时,容器视图应该填充剩余的空间。
在容器视图中,我embedded了一个表视图(包括适当的控制器)。 为了使问题更加明显,我给容器视图一个绿色的背景和表格视图一个蓝色的(这就是为什么部分标题略微蓝色)。 当然,我希望表视图填充整个容器视图。 但这只是部分发生:
所以表视图确实填充完整的容器视图(表视图的背景颜色是蓝色),但是节标题被定位为低。 如果向下滚动,部分标题保持在相同的位置,但单元向上移动并显示在其上方:
我已经尝试检查并取消选中表视图控制器的“扩展边”checkbox,控制它是否扩展了“顶部酒吧”,“底部酒吧”和“不透明酒吧”,但没有帮助。 它看起来好像表视图为导航栏和状态栏留下空间,但它不应该和我不明白如何使它正确地布置节标头和单元格。
任何想法,为什么这是我怎样才能解决它?
这可以通过取消选中IB中的“Under Top Bars”框来修复其中包含容器视图的控制器,而不是表视图控制器。 你不应该这样做,因为你会认为在导航栏下放置主视图(在容器控制器中)不会使embedded式表视图的行为与其行为一样。
禁用包含视图的“调整滚动视图插图”也有帮助。