wtf*_*wer 4 objective-c uitableview tablecellrenderer reuseidentifier ios
这个问题不一定会出现
有时滑动时消失有时不消失
HSubjectCell *cell = [tableView dequeueReusableCellWithIdentifier:kSubjectCellIdentifier forIndexPath:indexPath];
_subjectView = cell;
cell.delegate = self;
cell.subject = self.subjectArr[indexPath.section - 3];
return cell;
Run Code Online (Sandbox Code Playgroud)
当单元格的框架超出滚动视图的视野时,表视图会立即“隐藏”子视图。
关于表视图如何工作的简单示例
假设您将行的高度定义为100.0f。您向其添加一个 simple UIView(假设它具有橙色背景色),它将其边缘完美地固定到 的每个UITableViewCell边缘contentView。
当您将该视图向上/向下滚动足够远以使100.0f高度位于滚动视图框架的上方/下方时,该行实际上是隐藏的。这是为了使表格视图变得活泼和高效。
你正在经历什么
让我们使用前面的示例,但不是将子视图的底部固定到 的底部UITableViewCell,contentView而是让它越过50.0f的底部contentView,因此位于 的外部UITableViewCell。
您会注意到,如果您滚动橙色UIView使其移向顶部,即使屏幕上仍然显示一些橙色,它也会消失。
但为什么会出现这种情况呢?
由于您添加的子视图不适合UITableViewCell,因此当该单元格滚动到视图之外(基于其框架)时,它会“消失”。随着它消失,您的子视图也会消失。
我该如何解决?
确保所有子视图都在UITableViewCell其添加到的框架内。
查看这些边界的简单方法是使 的背景颜色成为UITableViewCell突出contentView的颜色,例如[UIColor orangeColor];。然后你会更好地理解这些框架是如何相互关联的。
| 归档时间: |
|
| 查看次数: |
4614 次 |
| 最近记录: |