ios - section - uicollectionview教學



在UICollectionView中滾動2-3次後,單元格消失 (1)

我在滾動我的UICollectionView一個奇怪的問題。 它顯示一個沒有任何單元格的空白視圖。

它奇怪地隱藏我的細胞或刪除我的細胞,我不知道,但我無法找到任何解決方案。

我已經嘗試從這些解決方案:

第一:試圖創建自定義類的UICollectionViewFlowLayout並按照指示與所有不同的方法,但無法解決我的問題。

第二:嘗試下面的方法重新分配和重新計算我的單元格大小:

-(BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds
{
   return YES;
}

我跟隨的鏈接:

Que1: UICollectionView的單元格消失

Que2: 使用我自己的UICollectionViewFlowLayout子類滾動時,UICollectionView項目消失

請指導我什麼是錯誤的與自定義單元格簡單collectionview。

參考圖片:

滾動之前:

滾動後:


我在這裡回答我自己的問題。

由於這個問題最近兩天我被卡住,希望有人得到幫助,如果任何人得到像我這樣的問題。

因為我使用CollectionViewController並將Controller視圖添加到當前使用的控制器中,所以它消失了我的集合視圖單元格。

原因:由於ARC釋放delegatedatasource連接,並且collecton視圖無法獲取單元格,而我從上到下滾動。

解:

我通過2種方式解決這個問題。

第一:由於delegate & datasource連接丟失,在我當前的VC創建CollectionViewController不在Service& JSON解析器類。

下面代碼中最重要的部分是addChildViewController ,它不會釋放委託連接,並按預期工作。

UIStoryboard *mainStoryBoard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
CardListViewController *objCardListViewController = [mainStoryBoard instantiateViewControllerWithIdentifier:@"CardListViewController"];
objCardListViewController.view.frame = CGRectMake(0, 0,self.cardMainView.frame.size.width, self.cardMainView.frame.size.height);
[self.cardMainView addSubview:objCardListViewController.view];
[self addChildViewController:objCardListViewController];

但根據我的要求,我需要在許多地方收集視圖,所以我需要概括這個集合視圖。

所以我去第二種方式,這是ContainerView添加子控制器 ,我把這個CollectionViewController與容器視圖連接,所以我可以使用它作為我需要這個列表的許多地方。

奇怪而真實。

希望如果面臨同樣的問題,這將有助於某人。

感謝和愉快的編碼。