有在CustomTableViewCell.h一個UICollectionView的屬性,並以Main.storyboard綁定。讓我們假設宣稱它是這樣的:
@property (strong, nonatomic) UICollectionView *collectionView;
在ViewController.m變化的cellForRowAtIndexPath方法,所以它每次都重新加載內部UICollectionView它需要
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
CustomTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"CustomTableViewCell"];
[cell.collectionView reloadData];
[cell.collectionView scrollRectToVisible:CGRectZero animated:NO];
return cell;
}
當然,你需要在ViewController.m導入CustomTableViewCell.h
文件。
好的財產工程很好,即使我重新加載收藏查看它保持在同一位置,至於這種行爲沒有問題,所以據我瞭解我需要手動做。像設置初始狀態?也正如Dave寫的似乎prepareForUse它我在找什麼? – 2014-10-08 21:21:56
您的單元格已經出隊,這意味着當您滾動以獲得更好的性能時,同一個單元格就會重新定位。想象一下,你的桌子視圖有1000行,但你可以同時看到其中的10個。內存上只有10行就足夠了。 因此,我編輯我的答案滾動到頂部的代碼。 – dadalar 2014-10-08 21:28:25
我認爲你和Dave的回答很好。所以,如果我自己在委託方法或prepareForReuse的回調中設置它,只會有一個區別。但是,我認爲這是一個問題,例如,如果每次重置集合視圖,例如對於第一個包含我們滾動的集合視圖的單元格,我們也會在重新設置時重置位置。如果我需要行爲來保持第一個單元格來到狀態,但創建一個初始狀態的單元格。我將面臨重置問題,這將適用於每個新的單元。 – 2014-10-08 21:42:32