0

次のようなプロトタイプセルでストーリーボードを使用しています。ここに画像の説明を入力

その後、サブビューの動的カウントを追加します:ここに画像の説明を入力

白い画面

アプリの uitableviewcell

uitableviewcell の半分に白い画面が表示され、スクロールすると問題が発生することがあります。

そして cell==nil は呼び出されません。

または、サブビューの動的カウントを uitableviewcell に追加する方法を説明してください。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString *cellIdentifer;

    cellIdentifer = @"PhotoWorkCell";


    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifer];

    if (cell == nil){
        NSLog(@"is nil");
    }
    [self addSubviews:cell atIndexPath:indexPath];
    [self configureCell:cell atIndexPath:indexPath];//just setting images and text to views

    return cell;
}

-(void)addSubviews:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath{
    PhotoWork *work = [self.tableData objectAtIndex:indexPath.row];

    PhotoWorkCell *workCell = (PhotoWorkCell*)cell;

    for(UIView *view in workCell.contentView.subviews){
        if ([view isKindOfClass:[CustomPoints class]])
            [view removeFromSuperview];
    }

    for(int i=0; i <[work.pointsArray count];i++)
    {
        NSArray *subviewArray = [[NSBundle mainBundle] loadNibNamed:@"CustomPoints" owner:self options:nil];
        CustomPoints *customPoints = [subviewArray objectAtIndex:0];
        customPoints.frame = CGRectMake(10, 135+i*customPoints.frame.size.height, customPoints.frame.size.width, customPoints.frame.size.height);

        customPoints.label= @"test";

        workCell.photoButton.tag = indexPath.row;
        [workCell.photoButton addTarget:self action:@selector(onHistory:) forControlEvents:UIControlEventTouchDown];

        [workCell.contentView addSubview:customPoints];
    }
}

- (CGFloat)tableView:(UITableView *)t heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    PhotoWork *work = [self.tableData objectAtIndex:indexPath.row];
    return 135+[work.pointsArray count]*57;
}
4

1 に答える 1