【发布时间】:2019-06-23 14:20:58
【问题描述】:
我有一个视图控制器,其中包含一个嵌入在容器视图中的表视图控制器:
您在左侧的视图控制器中看到的是一个容器视图,它通过故事板 segue 嵌入了表格视图控制器。就像您在图像中看到的那样,还有一个约束指定容器视图和上述分段控件之间的顶部空间。
当我启动应用程序时,一切正常,我可以看到分段控件和表格视图单元格之间有一个分隔空间。但是当我向下滚动时,正如您在图片中看到的那样,表格视图单元格与分段控件重叠:
通过调试视图层次结构,我发现问题是单元格即使在容器视图之外也会显示:
您在上图中看到的是表格视图单元格和容器视图。我画了两条红线,一条从容器视图顶部开始,一条从第一个表格视图单元格的顶部开始,就像您看到表格视图单元格超出容器视图的边界一样,这意味着它们是可见的即使它们在表格视图区域之外。相反,嵌入表格视图的容器视图位于分段控件下方,并尊重约束施加的分隔空间。
【问题讨论】:
-
只要确保tableView的视图约束等于containerView的(topAnchor、bottomAnchor等)然后设置tableView.clipsToBounds = true