滚动后,UITableViewCell中的自定义视图被切断

时间:2012-07-16 14:55:15

标签: ios uitableview custom-view

我有自定义UITableViewCells的UITableView。 单元格包含一个自定义视图,它是SSCheckBoxView的略微修改版本(可在GitHub上获得)

当我在TableView中滚动并且单元格从屏幕上消失时,自定义视图会在重新出现时被切断。

在滚动之前,我的单元格如下所示: https://www.dropbox.com/s/hcyvgumhr7t1fxg/before.png

这就是视图重新出现时的样子: https://www.dropbox.com/s/p6wirtj60ffssxm/after.png

这是我的TableViewController

中的cellForRowAtIndexPath方法
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *myIdentifier = @"CarpartTableViewCell";

    CarpartTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:myIdentifier];

    if (cell == nil) {
        cell = (CarpartTableViewCell*) [[[NSBundle mainBundle] loadNibNamed:@"CarpartTableViewCell" 
                                                           owner:self 
                                                         options:nil] objectAtIndex:0];
    }

    cell.delegate = self;
    cell.tag = indexPath.row;

    Carpart *part = [_parts objectAtIndex:indexPath.row];

    cell.carpart.text = part.name;

    [cell.checkboxMaterial setText:@"Alubauteil"];
    [cell.checkboxPushing setText:@"Vordrücken"];

    cell.checkboxMaterial.checked = part.material.boolValue;
    cell.checkboxPushing.checked = part.pushing.boolValue;

    cell.checkboxPushing.tag = indexPath.row;
    cell.checkboxMaterial.tag = indexPath.row;

    [cell.checkboxMaterial setStateChangedTarget:self selector:@selector(materialChanged:)];
    [cell.checkboxPushing setStateChangedTarget:self selector:@selector(pushingChanged:)];

    return cell;
}

0 个答案:

没有答案