1

写真が示すように。セルをクリックしたときに 1 つの行 (灰色の行) を挿入して分割できるテーブルビューを作成し、もう一度クリックして分割をキャンセルします。

ここに画像の説明を入力

コードは次のとおりです。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{   
    int clickCellRow = [indexPath row] + 1;
    int clickCellSection = [indexPath section];

    [self beginUpdates];

    if (isEditFlag == NO) {
        isEditFlag = YES;
        [tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:clickCellRow inSection:clickCellSection]] withRowAnimation:UITableViewRowAnimationFade];   
}
    else {
        isEditFlag = NO;      
        [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:clickCellRow inSection:clickCellSection]] withRowAnimation:UITableViewRowAnimationFade];
    }

    [self endUpdates];
}

IOS6 では問題なく動作しますが、IOS7 では 1 つのバグが発生しました。1 つのセルがクリックされ、分割された行が挿入されると、sectionView が強制的に画面の外に出ます。

ここに画像の説明を入力

分割をキャンセルした後、非表示のセルを上にスクロールします。テーブルは次のようになります。

ここに画像の説明を入力

セルにsectionViewが読み込まれているようです!これはどのように発生し、どのように修正しますか?

4

0 に答える 0