【问题标题】:UITableViewCells are displayed outside of the table view containerUITableViewCells 显示在表格视图容器之外
【发布时间】:2019-06-23 14:20:58
【问题描述】:

我有一个视图控制器,其中包含一个嵌入在容器视图中的表视图控制器:

您在左侧的视图控制器中看到的是一个容器视图,它通过故事板 segue 嵌入了表格视图控制器。就像您在图像中看到的那样,还有一个约束指定容器视图和上述分段控件之间的顶部空间。

当我启动应用程序时,一切正常,我可以看到分段控件和表格视图单元格之间有一个分隔空间。但是当我向下滚动时,正如您在图片中看到的那样,表格视图单元格与分段控件重叠:

通过调试视图层次结构,我发现问题是单元格即使在容器视图之外也会显示:

您在上图中看到的是表格视图单元格和容器视图。我画了两条红线,一条从容器视图顶部开始,一条从第一个表格视图单元格的顶部开始,就像您看到表格视图单元格超出容器视图的边界一样,这意味着它们是可见的即使它们在表格视图区域之外。相反,嵌入表格视图的容器视图位于分段控件下方,并尊重约束施加的分隔空间。

【问题讨论】:

  • 只要确保tableView的视图约束等于containerView的(topAnchor、bottomAnchor等)然后设置tableView.clipsToBounds = true

标签: ios swift


【解决方案1】:

你能试试设置clipsToBounds吗?可以帮上忙。

tableView.clipsToBounds = true

【讨论】:

    【解决方案2】:

    必须与您设置约束的方式有关。从图片上很难分辨。

    我为具有分段控件的视图设置了高度约束。并将该视图和容器视图之间的垂直间距设置为 0。

    我上传了一个演示项目here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多