Swift:UITableViewController - 修改 UITableView 和 View Controller 之间的边距

Posted

技术标签:

【中文标题】Swift:UITableViewController - 修改 UITableView 和 View Controller 之间的边距【英文标题】:Swift: UITableViewController - modify margin between UITableView and View Controller 【发布时间】:2018-03-27 10:24:26 【问题描述】:

我在我的应用程序中使用 UITableViewController。它运行良好,但默认的 UITableViewController 会在嵌入其中的 UITableView 和 UITableViewController 的主视图之间添加一些间距。看下图。如何从情节提要或代码中删除/修改此间距形式?

蓝色是我的自定义行。间距在此蓝色 tableView 行和绿色导航栏之间。

【问题讨论】:

取消选中调整故事板中的滚动视图插图 你确定你使用的是 UITableViewController?不是 UIViewController 子类化 UITableViewController? 好的,我明白你@Sandeep @ReinierMelian 很好。很抱歉给您添麻烦。 别担心,@Sandeep,再见! 【参考方案1】:

在 ViewDidLoad 中添加这个对我有帮助:

tableView.tableHeaderView = UIView(frame: CGRect(x: 0.0, y: 0.0, width: 0.0, height: CGFloat.leastNormalMagnitude))

也可以通过实现委托方法来移除它

override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat 

      return CGFloat.leastNormalMagnitude

但在第二种方法中,它也会自动删除 TableView 部分之间的所有间距。

我也听说 UITableView 的 Grouped 样式会出现这个问题。

【讨论】:

以上是关于Swift:UITableViewController - 修改 UITableView 和 View Controller 之间的边距的主要内容,如果未能解决你的问题,请参考以下文章

如何在 prepareForSegue 中嵌入 UINavigationController?

viewController的生命周期

将 UITableView 实例化为弹出框时,UITableViewCell 的属性为零

swift [Swift Notes]在学习Swift #Swift的同时收集笔记

Swift 反射

Swift入门系列--Swift官方文档(2.2)--中文翻译--About Swift 关于Swift