这个问题不一定会出现
滑动时有时会消失有时不消失
更多信息在这里
click to show gif
click to show storyboard png
代码
HSubjectCell *cell = [tableView dequeueReusableCellWithIdentifier:kSubjectCellIdentifier forIndexPath:indexPath];
_subjectView = cell;
cell.delegate = self;
cell.subject = self.subjectArr[indexPath.section - 3];
return cell;
最佳答案
当单元格的框架离开 ScrollView 的 View 时,表格 View 会“隐藏” subview 。
一个关于 TableView 如何工作的简单示例
假设您定义行的高度为 100.0f
.您添加一个简单的 UIView
给它(假设它具有橙色背景色),它将其边缘完美地固定在 UITableViewCell
的每个边缘上的contentView
.
当您向上/向下滚动该 View 足够远时,100.0f
高度在 ScrollView 框架的上方/下方,该行本质上是隐藏的。这是为了使表格 View 快速而高效。
你正在经历什么
让我们使用前面的例子,而不是将 subview 的底部固定到 UITableViewCell
的底部。的contentView
,你成功了50.0f
在 contentView
的底部上方,因此在 UITableViewCell
之外.
你会注意到,如果你滚动橙色 UIView
所以它向顶部移动,即使屏幕上仍然显示一些橙色,它也会消失。
但是为什么会这样呢?
因为您添加的 subview 不适合 UITableViewCell
,当该单元格滚动出 View (基于其框架)时,它“消失”。随着它的消失,您的 subview 也会消失。
我该如何解决?
确保所有 subview 都在 UITableViewCell
的框架内它被添加到其中。
一种查看这些界限的简单方法,使您的 UITableViewCell
成为背景色的contentView
一种突出的颜色,例如 [UIColor orangeColor];
.然后你会更好地理解这些框架是如何相互关联的。
关于ios - 滚动时tableview单元格消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41195079/