【问题标题】:How to have full screen UITableView (with header) in iPhone X?如何在 iPhone X 中拥有全屏 UITableView(带标题)?
【发布时间】:2017-09-21 12:03:22
【问题描述】:

我正在使用 Xcode 9 更新我的应用程序以兼容 iPhone X。 我使用自动布局并标记了“使用安全区域布局指南”。

我的 UITableView 中有一个标题,正如您在下面的屏幕截图中所见,标题视图严格遵守顶部安全区域。 标题不遵循我的 tableview 顶部约束(大于安全区域)

我的 tableview 约束:

如何修改标题以填充屏幕顶部(屏幕截图上的白色区域)?

【问题讨论】:

  • 从您发布的图片中,通知等于:顶部布局指南的 45。让它成为 0。
  • 你弄明白了吗..?
  • @AnkitSrivastava 是的约束问题!

标签: swift uitableview autolayout xcode9


【解决方案1】:

在表格视图的尺寸检查器中,将 Content Insets 设置为 Never

【讨论】:

  • 谢谢。帮了我很多
  • 就是这样!
  • 这对我也有帮助!
  • 以编程方式,这是通过设置 tableView.contentInsetAdjustmentBehavior = .never (Swift 4.2) 来完成的
  • 完美!这应该是一个公认的答案!
【解决方案2】:

这可能是由于您的约束设置不当。

您只需要通过双击更改 Header 的顶部约束。

你应该双击的屏幕:

并通过 Superview 项更改 Safe Area 约束。

【讨论】:

  • 我已经以编程方式添加了标题,我该怎么做?
  • @Feroz 将您的 rootViewController 的 preservesSuperviewLayoutMargins 设置为 true 可能会有所帮助。之后,您需要激活您的顶级约束
  • @Feroz 你知道如何以编程方式进行吗?
【解决方案3】:

为了实现这一点设置表格的顶部区域相对于超级视图而不是安全区域。

在viewdidload中写下这个

if #available(iOS 11.0, *) {
    self.tableView.insetsContentViewsToSafeArea = false;
    self.tableView.contentInsetAdjustmentBehavior = .never;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-21
    • 1970-01-01
    • 2015-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多