不一定会出现此问题
有时滑动时会消失,有时不会消失
HSubjectCell *cell = [tableView dequeueReusableCellWithIdentifier:kSubjectCellIdentifier forIndexPath:indexPath];
_subjectView = cell;
cell.delegate = self;
cell.subject = self.subjectArr[indexPath.section - 3];
return cell;
答案 0 :(得分:1)
表格视图"隐藏"子视图单元格框架超出滚动视图视图的瞬间。
关于表格视图如何工作的简单示例
我们假设您将行定义为100.0f
的高度。你向它添加了一个简单的UIView
(让它说它有一个橙色的背景颜色),它的边缘完美地固定在UITableViewCell
{{1}的每个边缘上}。
当您向上/向下滚动该视图足够远以使contentView
高度高于/低于滚动视图的框架时,该行基本上是隐藏的。这是为了使表视图快速有效。
您遇到的问题
让我们使用上一个示例,但不是将子视图的底部固定在100.0f
UITableViewCell
的底部,而是将其移至{{1}在} contentView
的底部,因此位于50.0f
之外。
您会注意到,如果您滚动橙色contentView
使其向顶部移动,即使屏幕上仍显示橙色,它也会消失。
但为什么会发生这种情况?
因为您添加的子视图不适合UITableViewCell
,当该单元格滚出视图(基于其框架)时,它会消失"。随着它的消失,您的子视图也会消失。
如何解决此问题?
确保所有子视图都在添加到的UIView
的框架内。
查看这些边界的简单方法,使UITableViewCell
UITableViewCell
的背景颜色突出显示,例如UITableViewCell
。然后,您将更好地了解框架是如何相关的。