[英]tableview cell disappears when scrolling
不一定会出现此问题
有时滑动时消失,有时不消失
HSubjectCell *cell = [tableView dequeueReusableCellWithIdentifier:kSubjectCellIdentifier forIndexPath:indexPath];
_subjectView = cell;
cell.delegate = self;
cell.subject = self.subjectArr[indexPath.section - 3];
return cell;
表格视图“隐藏”子视图是单元格框架脱离滚动视图的瞬间。
有关表视图如何工作的简单示例
假设您将行定义为高度为100.0f
。 您向其中添加了一个简单的UIView
(假设它具有橙色背景色),它将其边缘完美地固定到该UITableViewCell
的contentView
每个边缘。
当您向上/向下滚动该视图足够远以使100.0f
高度位于滚动视图框架的上方/下方时,该行实际上是隐藏的。 这是为了使表格视图更加生动高效。
您正在经历什么
让我们使用前面的示例,尽管不是将子视图的底部固定到UITableViewCell
的contentView
的底部,而是使它在contentView
的底部上方50.0f
,因此位于UITableViewCell
之外。
您会注意到,如果滚动橙色的UIView
使其朝向顶部,即使屏幕上仍然显示一些橙色,它也会消失。
但是为什么会这样呢?
因为您添加的子视图不适合UITableViewCell
,所以当该单元格滚动出视图时(基于其框架),它“消失”。 随着它的消失,您的子视图也将消失。
我该如何解决?
确保所有子视图都位于添加到的UITableViewCell
的框架内。
一种查看这些界限的简单方法,使UITableViewCell
的contentView
的背景色突出显示,例如[UIColor orangeColor];
。 然后,您将更好地了解框架之间的关系。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.