Tôi có một UITableView khá vani trong ứng dụng của tôi được sử dụng để hiển thị hình ảnh và văn bản theo cách mặc định/tiêu chuẩn. Lần đầu tiên một UITableViewCell được yêu cầu tôi trả lại nó với một hình giữ chỗ và bắt đầu tải xuống không đồng bộ hình ảnh thực. Khi tải xuống hoàn tất, tôi thay thế hình ảnh trình giữ chỗ.UIImageView trong kích thước thay đổi UITableViewCell của tôi trên kích thước
Nếu tải xuống không thành công, hình ảnh trình giữ chỗ vẫn còn. Nhấp vào hàng như vậy sẽ hoạt động bình thường. Nếu quá trình tải xuống thành công, việc nhấp vào một hàng có hình ảnh dự định sẽ dẫn đến UIImageView mở rộng đến chiều cao của hàng (và chiều rộng tăng theo tỷ lệ). UIImageView không bao giờ trở lại kích thước bình thường. Các nỗ lực thô lỗ để đặt khung của UIImageView không làm giảm bớt vấn đề thay đổi kích thước bí ẩn.
// from my - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath; method
// after boilerplate cell dequeuing code
cell.textLabel.text = [selectedNoun title];
// add placeholder image
UIImage *placeholderImage = [UIImage imageNamed:@"placeholder.png"];
cell.imageView.image = placeholderImage;
[cell.imageView setContentMode:UIViewContentModeScaleAspectFit];
//...
// If the image has been downloaded I set it
cell.imageView.image = iconDownloader.image;
Điều này khiến tôi phát điên. Nó thực sự chỉ xảy ra ở một trong hai bảng trong ứng dụng của tôi, nhưng sau khi so sánh chúng với đường thẳng hoặc dòng tôi không thể thấy bất kỳ sự khác biệt nào. Hy vọng rằng ai đó đã đi qua điều này trước đây.
Cảm ơn!
EDIT: Tôi không có giải thích tốt cho giải pháp của tôi ngoài việc nói rằng hình ảnh trên một kích thước nhất định có vẻ dẫn đến hành vi này và sử dụng hình thu nhỏ thực tế (thậm chí hình ảnh hơi lớn hơn khung của UIImageView) không thể hiện hành vi này.
Nếu bạn có UITableViewCell tùy chỉnh thì hãy đảm bảo rằng UIImageView của bạn không được đặt tên bằng "imageView" – kalpeshdeo