向 TableViewController 添加边距

Posted

技术标签:

【中文标题】向 TableViewController 添加边距【英文标题】:Adding margin to TableViewController 【发布时间】:2014-06-10 20:59:00 【问题描述】:

我正在试验 Xcode 6 和 Swift,但在 Interface Builder 上遇到了一点问题。

我通过拖动带有 TableView 的 TableViewController 创建了一个新场景,但是当在模拟器上运行它时,顶部单元格离顶部太近了,它几乎触及了中心的日期和运营商徽标。

由于这似乎是一个根视图,我无法添加约束,我也找不到调整方法,以便我有一个灵活/响应不同屏幕尺寸的边距。

【问题讨论】:

【参考方案1】:

您不想尝试将表格限制在状态栏下方,因为这会导致滚动视图的内容在超过 20pt 标记时神奇地消失。相反,让它继续全屏显示并简单地设置表格的 contentInset 属性 (More info in documentation)。

这将使表格像往常一样滚动,内容从屏幕顶部移出,并增加了停留在状态栏下方的功能。

let statusBarHeight = UIApplication.sharedApplication().statusBarFrame.height
tableView.contentInset = UIEdgeInsetsMake(statusBarHeight, 0.0, 0.0, 0.0)

【讨论】:

对,我猜它需要以编程方式完成,而不是通过 Interface Builder? @iQ。很遗憾。在 Interface Builder 中,您可以调整滚动条的插图,但不能调整滚动视图(表格视图)本身的插图。

以上是关于向 TableViewController 添加边距的主要内容,如果未能解决你的问题,请参考以下文章

使用 NavigationController 将视图添加到 TableViewController

向使用安全区域的场景添加边距

NetworkX:从 shapefile 向图形添加边

我可以向自定义快餐栏添加边距(扩展 BaseTransientBottomBar)吗?

从数组中显示 TableViewController 中的列表,数组中只有 1 个项目

如何向相对 div 溢出父级添加边距以向下移动内容