テーブルビューを編集モードに設定すると、行を削除した後にテーブルをスクロールすると、セル編集コントロール (左側の赤いマイナス記号) が残りの部分でランダムな状態 (垂直または水平に変わる) になることがわかりました。テーブルをスクロールすると、セルが表示されます。おそらく、次のようにセルを再利用しているためです。
cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
エディット コントロールをセルごとに正しい状態にするにはどうすればよいですか? タップしてセルを削除しない限り、常にデフォルトの水平状態になっているはずです。
編集:セルコードは次のとおりです。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *cellIdentifier = @"WhateverIdentifier";
MyCell *cell = nil;
//This IF statement fixes the problem, but then I'm not reusing the cells
if (!tableView.isEditing) {
cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
}
if (!cell) {
cell = [[[NSBundle mainBundle] loadNibNamed:@"MyCell" owner:self options:nil] objectAtIndex:0];
}
//customize cell
return cell;
}