由于UITableViewCell的复用机制,CollectionView的contentOffset会错乱,解决方法,是可以给cell的model里添加一个属性,记录collectionView的偏移位置。
/**collectionView偏移位置*/
@property (nonatomic, assign) CGPoint offSet;
在m文件里面,在collectionView滑动的代理方法,用model的偏移属性记录偏移的
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
self.model.offSet = scrollView.contentOffset;
}
在数据赋值的时候:
- (void)setModel:(TestModel *)model {
_model = model;
[self.collectionView reloadData];
[self.collectionView setContentOffset:model.offSet animated:NO];
}
demo链接:https://wojia.coding.net/p/testdemo/d/UITableViewCell-UICollectionView/git
网友评论