UITableViewCell重用并添加了子视图

时间:2017-06-11 05:50:07

标签: ios objective-c uitableview uiscrollview

我正在尝试解决在自定义UITableView单元格的可滚动区域内显示动态生成的内容(具有'运行时计算的行数和行程数)的旅行行程的要求。

简而言之,我直接将视图形式的行程信息添加到UIScrollView中。

基本的自定义单元格布局,在UIScrollView上方显示一些个人信息的视图在xib中布局。行程信息直接写入另一个xib布局的视图中。然后将这些多个行程腿视图作为子视图添加到滚动视图中。

存在问题。

由于单元格被重用,旧数据,在这种情况下,来自其他记录的行程记录片段可以出现在滚动视图的末尾。我尝试通过在加载自定义单元格时重置滚动视图来解决此问题:

 - (void)viewWillAppear:(BOOL)animated
 {
     [_scroller.subviews 
          makeObjectsPerformSelector:@selector(removeFromSuperview)];
     [_scroller setContentOffset:CGPointMake(0,0) animated:YES];
 }

我是从

派生出来的

Clear content of UIScrollView

这似乎不适用于我的情况。

要提前回答几个问题,我知道其他方法可以实现类似的结果,实际上在这个应用程序中使用它们,例如在这里回答#1(就像我说的,我试图解决一个要求) :

adding UITableView inside UITableViewCell

我已经阅读了很多关于

的适用性(或不适合性)的讨论
 -(void)prepareForReuse

当然这个问题有一个众所周知的解决方案....我似乎无法找到它。

非常感谢任何帮助。

0 个答案:

没有答案