簡體   English   中英

刪除UICollectionView中的單元重用

[英]Remove cell reuse in UICollectionView

我已經檢查了很多可以回答這個問題的問題,但是我相信我有一個特殊情況。

我要說的是,我正在和一個朋友一起開發一個應用程序,而他去了蘋果公司工作。 我是設計師,他是開發商。 他在教我Objective-C和Swift。 我正在更新他和我合作過的應用程序,並嘗試使用它的新功能。 可能超出了我的腦海,但我正在通過研究它並編寫@ Udemy教程並與我認識的其他開發人員提問來學習很多東西。

因此,我有點奇怪,該應用程序正在使用UICollectionView來顯示“項目”的集合。 當您點擊“項目”時,它會動畫顯示該項目的詳細視圖,並為您提供更多信息。 直到我建立了一種在細節級別在項目之間滑動的方法,單元重用才成為問題。 (您可以點擊項目詳細信息,然后在這些詳細信息之間滑動。)

這是問題所在:如果當用戶移至詳細視圖並嘗試滑動到該項目時,該項目的單元格不在屏幕上,則不會顯示該項目。

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
KNIIssueCollectionViewCell *cell = (KNIIssueCollectionViewCell *)[collectionView dequeueReusableCellWithReuseIdentifier:kItemCellReuseID forIndexPath:indexPath];

KNIRecommendedItem *item = self.issue.items[indexPath.item];
[cell configureWithItem:item];

KNIRecommendedItemDetailViewController *itemDetailVC = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:NSStringFromClass([KNIRecommendedItemDetailViewController class])];
itemDetailVC.item = item;
itemDetailVC.transitioningDelegate = self;
itemDetailVC.itemImage = cell.image;
[self.pages addObject:itemDetailVC];
return cell;

}

我了解應該刪除dequeueReusableCellWithReuseIdentifier,但是我嘗試進行的每次重寫都導致錯誤。

- (UICollectionViewCell *)collectionView:(UICollectionView
*)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    KNIIssueCollectionViewCell *cell = //create new cell instance here

    KNIRecommendedItem *item = self.issue.items[indexPath.item];
   [cell configureWithItem:item];

   // ...other part of code... //
   return cell;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM