UITableView在透明UINavigationBar之下留下空隙(在UIViewController上的单个UIView内)

时间:2015-10-20 16:51:22

标签: ios uitableview autolayout

我正在开发一个Swift iOS8 / 9项目并使用Xcode 7,故事板/自动布局等(为了完整性:我从年初开始使用旧版本的Xcode等)。

我有一个UINavigationController层次结构,一些View Controllers包含一个包含单个子节点UIVableView的UIView。 (我选择不使用UITableViewController,所以足以说......它不是一个选项。)

问题: tableview启动64像素(状态加导航高度)太低:

Unwelcomed Gap to first Table Section Header

现在:我的UIViewControllers中有一些东西在UIView中包含了一个UICollectionView,但是我通过顶部对齐实现了它(经过大量的戳戳/刺激,之后一段时间)从UICollectionView的顶部到顶部布局指南的 顶部 的约束。 (在我的故事板中查看我的一些对齐和一些垂直距离,但都是顶部布局指南的顶部。)

我正在寻求帮助理解如果我能做我想做的事情,如果将tableview顶部限制在布局指南顶部的方法是正确的,或者是否有更好的方法。

Success through alignment of Top to Top

不幸的是,我似乎无法重复这个(也许'我忘记了一些关键的新闻组合jujitsu,或新的Xcode,或集合!=表格,或者我的视图层次结构中的某些内容。)我已经检查了所有segues是自适应推送,我甚至删除/重新构建了这个VC,因为我有一个模型segue,以防万一它被混淆了这个VC不在导航视图控制器层次结构中。)

如果我控制/拖动连接或选择两个对齐:

Table View Inside View - Selecting TableView and Top Guide

这就是我所提供的 - 注意没有“与顶部对齐”:

enter image description here

注意:以下是表格设置(据我所知)应该正确调整边缘插入和滚动偏移,并且确实显示('它是顶视图的唯一子节点,根据文件。)

enter image description here

以下是视图执行布局子视图后的帧:

enter image description here

3 个答案:

答案 0 :(得分:2)

当我与@ProgrammingBonn交谈并提到框架时,我最终使用的方法来找我。我看到主要的UIView是我想要的位置,所以它(最后)突然明白了将UITableView的顶部对齐到UIView的顶部

(我怀疑我正在构建自己的ViewController并且不依赖于UITableViewController我在层次结构中有一个过度膨胀的特定视图视图。尽管占据了所有的屏幕,但它是一个子视图而不是主视图房地产。)

所以,要明确:

我选择了UITableView,然后命令/选择了UIView(主要的那个,它是它的父级),然后使用“对齐”工具将这两个对齐。

enter image description here

答案 1 :(得分:1)

尝试取消选中“调整滚动视图插图”选项。

答案 2 :(得分:0)

我不确定这是否能解决您的问题,但您是否尝试过使用viewController.edgesForExtendedLayout?

在此处查看更多信息: Explaining difference between automaticallyAdjustsScrollViewInsets, extendedLayoutIncludesOpaqueBars, edgesForExtendedLayout in iOS7