繁体   English   中英

滚动时,tableview单元格消失

[英]tableview cell disappears when scrolling

不一定会出现此问题

有时滑动时消失,有时不消失

更多信息在这里

点击显示gif

单击以显示演示图板png

HSubjectCell *cell = [tableView dequeueReusableCellWithIdentifier:kSubjectCellIdentifier forIndexPath:indexPath];
_subjectView = cell;
cell.delegate = self;
cell.subject = self.subjectArr[indexPath.section - 3];
return cell;

表格视图“隐藏”子视图是单元格框架脱离滚动视图的瞬间。

有关表视图如何工作的简单示例

假设您将行定义为高度为100.0f 您向其中添加了一个简单的UIView (假设它具有橙色背景色),它将其边缘完美地固定到该UITableViewCellcontentView每个边缘。

当您向上/向下滚动该视图足够远以使100.0f高度位于滚动视图框架的上方/下方时,该行实际上是隐藏的。 这是为了使表格视图更加生动高效。

您正在经历什么

让我们使用前面的示例,尽管不是将子视图的底部固定到UITableViewCellcontentView的底部,而是使它在contentView的底部上方50.0f ,因此位于UITableViewCell之外。

您会注意到,如果滚动橙色的UIView使其朝向顶部,即使屏幕上仍然显示一些橙色,它也会消失。

但是为什么会这样呢?

因为您添加的子视图不适合UITableViewCell ,所以当该单元格滚动出视图时(基于其框架),它“消失”。 随着它的消失,您的子视图也将消失。

我该如何解决?

确保所有子视图都位于添加到的UITableViewCell的框架内。

一种查看这些界限的简单方法,使UITableViewCellcontentView的背景色突出显示,例如[UIColor orangeColor]; 然后,您将更好地了解框架之间的关系。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM