グループ化された UITableView があります。ユーザーが行を選択すると、そのセルが狭くなります。私はこれを成功裏に達成しました:
//DidSelectRowAtIndexPath
UITableViewCell *cell = [myTable cellForRowAtIndexPath:indexPath];
If (selected == YES) {
selected = NO;
cell.frame = CGRectMake(cell.frame.origin.x, cell.frame.origin.y, 320, 35);
} else {
selected = YES;
cell.frame = CGRectMake(cell.frame.origin.x, cell.frame.origin.y, 275, 35);
}
//end DidSelectRowAtIndexPath
これは夢のように機能しますが、セルが画面外にスクロールされて再び戻ると、全幅になります (320、ところで、視覚部分が 320 幅であると言っているわけではありません。実際のセル フレームについて話しているのです)。 「CellForRowAtIndexPaths メソッドに「cell.frame = blahblahblah」行を追加しましたが、違いはありません。なぜですか?