У меня есть таблица с тенями над верхней и нижней ячейками (здесь используется решение Мэтта Галлахера: http://cocoawithlove.com/2009/08/adding-shadow-effects-to-uitableview.html). Они добавляются в метод layoutSubviews расширения класса UITableView.
Iдинамически добавлять и удалять ячейки под каждой основной ячейкой (они предоставляют дополнительные данные) - давайте назовем эти ячейки «подробности». За один раз открывается только одна ячейка. При удалении «ячейки подробностей» под последней основной ячейкой в качестве анимацииначинается, тень перемещается вверх до последней ячейки (над ячейкой сведений), потому что методы layoutSubview считают, что последняя ячейка таблицы изменилась в момент начала анимации для deleteRowsAtIndexPaths (а не после окончания анимации).
Итак, по сути, мне нужен способ сохранить тень под ячейкой детали при удалении. Не уверен, что это лучший способ сделать это. Если UITableView больше не считает эту ячейку последнейячейка, то я не уверен, даже как получить ячейку (так как интерфейсTableView получает ячейку таким образом):
NSIndexPath *lastRow = [indexPathsForVisibleRows lastObject];
if ([lastRow section] == [self numberOfSections] - 1 &&
[lastRow row] == [self numberOfRowsInSection:[lastRow section]] - 1)
{
//adds shadow below it here
}
Таким образом, даже отлавливание начала анимации не очень полезно, если UITableView все еще думает, что основная ячейка над ячейкой detail - это lastObject.*
Спасибо за любые идеи.