Khi sử dụng moveRowAtIndexPath:toIndexPath:
để di chuyển một UITableViewCell
, tôi nhìn thấy một trục trặc khi sử dụng hình ảnh động estimatedRowHeight
và UITableViewAutomaticDimension
khi các tế bào sinh động từ trạng thái hữu hình đến trạng thái không hiển thị.UITableViewCell hoạt hình lỗi trong `moveRowAtIndexPath: toIndexPath:` trong khi sử dụng `estimatedRowHeight` và 'UITableViewAutomaticDimension`
Sự cố sẽ biến mất nếu tôi đặt rõ chiều cao của ô bằng cách triển khai tableView:heightForRowAtIndexPath:
. Sự cố chỉ xuất hiện khi đường dẫn chỉ mục nguồn và đích hiển thị và không hiển thị tương ứng. Khi di chuyển đến một đường dẫn chỉ mục hiển thị khác, hoạt ảnh sẽ hoạt động như mong đợi.
tôi đã tạo ra một dự án mẫu để minh họa cho hiệu lực: https://github.com/timarnold/Table-Cell-Sizing-Bug
http://www.openradar.me/19156703
Sửa
@rdelmar chỉ ra rằng câu hỏi của tôi không thực sự đặt một câu hỏi.
Có ai biết cách khắc phục lỗi này và khắc phục hành vi này không? Hay tôi đang làm gì sai?
Chỉnh sửa 2014-12-08
Tôi đã sử dụng một trong các vé hỗ trợ nhà phát triển do Apple cung cấp để hỏi về vấn đề này với Apple. Họ xác nhận rằng đó là một lỗi (hãy truy cập http://www.openradar.me/19156703 để lừa) và không cung cấp bất kỳ giải pháp nào.
Bạn biết cách khắc phục điều này, vậy câu hỏi của bạn là gì? Tôi nghĩ rằng đây là một trường hợp "bạn nhận được những gì bạn phải trả cho" (trả tiền là thời gian và mã phức tạp). Điều này, và các vấn đề với việc cuộn đến một indexPath cụ thể là hậu quả của chiều cao ước tính được sử dụng, vì vậy tôi không nghĩ rằng bạn có thể sửa chữa nó (nó sẽ rất thú vị để xem Apple có thể sửa nó hay không. sử dụng chiều cao ước tính). Bạn có lẽ có thể giảm thiểu hiệu ứng bằng cách cung cấp một ước tính chính xác hơn về chiều cao của bạn (mặc dù điều đó sẽ không giúp ích nhiều nếu bạn có chiều cao thay đổi rộng rãi). – rdelmar
Vâng, nó không phải là quá nhiều câu hỏi vì nó là một tài liệu về vấn đề và một yêu cầu cho xung quanh công việc tiềm năng (tôi đoán yêu cầu của tôi nên rõ ràng hơn; sẽ chỉnh sửa câu hỏi). Tôi nghĩ rằng nó là công bằng để phân loại hành vi này như là một lỗi, tuy nhiên, kể từ khi dự án để tái sản xuất là khá đơn giản và sử dụng tất cả các thành phần chứng khoán và khả năng. –
Tôi không biết liệu tôi có gọi đó là lỗi hay chỉ là hậu quả của việc giao dịch giữa tốc độ và tính chính xác mà Apple đã tạo ra. Đó là một kỹ thuật sẽ hoạt động trong một số trường hợp, nhưng không phải tất cả. Tôi nghĩ rằng công việc duy nhất xung quanh, là tính toán chiều cao theo cách "lỗi thời" - tôi hy vọng tôi sai về điều đó, bởi vì các tế bào tự định cỡ mới là tuyệt vời khi chúng hoạt động. – rdelmar