在iOS5中将子视图添加到UITableViewCell

时间:2012-03-16 21:50:05

标签: ios5 uitableview

在iOS5中,单元格是自动分配的,因此向子视图添加子视图时会出现问题, 因为每次单元格重新加载子视图都会增加它。

我现在所做的是检查子视图并在添加新视图之前将其删除,如下所示:

for (UIView *subview in cell.subviews) {
    if ([subview isKindOfClass:MarqueeLabel.class]) {
        [subview removeFromSuperview];

    }
}

有没有人有更好的解决方案?

1 个答案:

答案 0 :(得分:0)

在你应该拥有并且肯定已经实现的cellForRowAtIndexPath:委托协议方法中,试试这个:

      if (cell) {
   // This if statement is declaring that the cell is non-zero and valid. All your activity with the cell should be done here, add the following:
cell.imageView.image = nil;
// or
cell.imageView = nil;
// or most likely in your case
cell.subviews = nil;
// Then assign your subviews/image or whatever. This way it refreshes each time. 

另外,您是否将tableViewCells出列如下:

 UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];

if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                   reuseIdentifier:@"cell"]
            autorelease];
}