Tôi có một UICollectionView trong một UIViewController. Trong phương thức collectionView cellForItemAtIndexPath: nó tạo ra một loạt các ô tùy chỉnh dựa trên nguồn dữ liệu. Các ô tùy chỉnh lần lượt chứa một UIView, được phân lớp để vẽ các trang PDF đơn lẻ.UICollectionView hiển thị các ô sai sau khi di chuyển - vấn đề dequeue?
Nó được thiết lập theo cách tách một tệp PDF thành các trang duy nhất của nó, do đó ô 1 chứa trang PDF 1, ô 2 chứa trang PDF 2, v.v. Cho đến nay rất tốt, đây là vấn đề của tôi:
Khi tôi cuộn xuống, UICollectionView bắt đầu hiển thị các ô sai. Ví dụ trong một tài liệu 34 trang, nó cho thấy các ô/trang 1-16 theo thứ tự đúng, nhưng sau đó bắt đầu hiển thị các trang mà dường như đã bị xóa thêm, chẳng hạn như ô 1, ô 2, ô 4. Tôi chưa bao giờ đến bất kỳ nơi nào gần ô/trang 34.
Tôi đã nhìn thấy hành vi tương tự từ UITableView trong quá khứ và tin rằng nó có liên quan đến việc dequeueing của ô hoặc phương thức đại biểu. Không hoàn toàn chắc chắn - bất kỳ trợ giúp nào đều được đánh giá cao.
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
//create custom cell
CustomCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cellID" forIndexPath:indexPath];
//set file name (always the same; one PDF file)
cell.fileName = fileName;
cell.backgroundColor = [UIColor clearColor];
//set the title to the page number
cell.title = [NSString stringWithFormat:@"page %@", [countArray objectAtIndex:indexPath.row]];
//set the current page (which indicates which page to display) according to the pageCount
cell.currentPage = [[countArray objectAtIndex:indexPath.row] intValue];
return cell; }
Có lẽ tôi có cùng một vấn đề. Bạn đã tìm thấy một giải pháp? – chris