【发布时间】:2014-06-19 06:20:31
【问题描述】:
我在另一个视图中嵌入了一个 UITableView,如下所示:
导航控制器是模态显示的,所以它的布局应该是全屏的,不依赖于故事板的任何其他部分。 如果已经使用固定的自动布局约束设置了配置文件视图的上部,如下所示:
- 图像视图的顶部布局指南(灰色):20pt
- “交易”标签的图像视图:20pt
- “交易”标签到容器视图:20pt
- 容器视图到底部布局指南、前导和尾随空格的距离:全部为 0pt。
所以基本上,当屏幕变大时,容器视图应该填满剩余空间。
在容器视图中,我嵌入了一个表视图(包括相应的控制器)。为了使问题更明显,我给容器视图一个绿色背景,给表格视图一个蓝色背景(这就是为什么部分标题略带蓝色的原因)。当然,我希望表格视图填满整个容器视图。但这只是部分发生:
所以表格视图确实填充了完整的容器视图(表格视图的背景颜色为蓝色),但节标题位置较低。如果我向下滚动,部分标题保持在同一位置,但单元格向上移动并显示在其上方:
我已经尝试检查和取消选中表格视图控制器的“扩展边缘”复选框,该复选框控制它是否扩展“在顶部栏下”、“在底部栏下”和“在不透明栏下”,但这没有帮助。看起来好像表格视图为导航栏和状态栏留出了空间,但它不应该而且我不明白如何让它正确地布置节标题和单元格。
任何想法为什么会这样以及如何解决它?
【问题讨论】:
-
您的表格视图中的 Title---Title---Detail 是什么?那是细胞的一部分,还是别的什么?
-
这只是我在完成的应用程序中实际使用的另一种单元格类型。带有 title-title-detail 的那个是实际保存数据的那个,但是由于我想在没有任何实际数据的情况下制作屏幕截图,所以我很快引入了第二种空单元格类型。 ;-) 无论我使用什么细胞类型,问题都存在。
-
好吧,我就是这么想的。我尝试了你的一般设置,我看到了同样的奇怪行为。这看起来像是容器视图在 IB 中的工作方式中的一个错误。我正在检查其他一些想法,如果我发现任何有用的东西,我会回复你。
-
这与 IB 中的容器视图无关,因为我通过使用自定义容器视图 api 在代码中添加表视图控制器得到了相同的行为。
标签: ios objective-c uitableview autolayout uistoryboard