Tôi có UITableView đơn giản với 4 hàng, mỗi hàng có chiều cao là 50. Khi tôi nhấn hàng thứ tư, tôi chèn hàng thứ năm với chiều cao là 80 sử dụng UITableViewRowAnimationTop. Càng xa càng tốt.Hoạt ảnh trông khó xử khi xóa ô có chiều cao lớn hơn các ô khác
Tôi muốn xóa hàng thứ năm khi hàng thứ tư được nhấn lần nữa. Nhưng khi tôi xóa hàng bằng cách sử dụng UITableViewRowAnimationTop (hoặc bất kỳ kiểu hoạt ảnh nào khác cho vấn đề đó), hoạt ảnh trông rất khó xử - hoạt ảnh bắt đầu nhưng ô biến mất đột ngột trước khi hoạt ảnh hoàn tất. (Điều này chỉ rõ ràng khi bạn đang sử dụng các ô có màu nền. Bạn có thể thấy nửa dưới của ô đột nhiên biến mất thay vì biến mất trong ô bên trên ô.)
Mã này giống như sau:
[self.tableview beginupdates];
[self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationTop];
[self.tableview endupdates];
Chiều cao hàng được cung cấp theo phương pháp tableView:heightForRowAtIndexPath:
.
Sự cố này không xảy ra khi tất cả các hàng có cùng chiều cao hoặc khi hàng bị xóa ngắn hơn các hàng khác.
Tôi nghĩ một workaround là thay đổi chiều cao của các tế bào thứ năm đến 50 trước khi xóa nó, nhưng tôi không muốn làm that.Please giúp
Ở đây chúng tôi đang ở năm 2017 và vấn đề này vẫn tồn tại trong tableWiews. 'Trung' thực sự tạo ra nội dung an toàn hơn' Top'. – DanBlakemore