我有自定义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;
}