以编程方式选择尚未加载的UICollectionView单元格

时间:2016-08-01 10:13:13

标签: ios objective-c uicollectionview

我正在尝试使用

以编程方式滚动到UICollectionView单元格
[_calendarView collectionView:_calendarView.calendarCollectionView didSelectItemAtIndexPath:indexpath];

当我使用索引路径检索单元格时,它给出了我的单元格。 我认为这个单元格尚未加载。任何解决方案。

2 个答案:

答案 0 :(得分:1)

首先,设置一个实例变量以表示您希望选择单元格。

self.selectedIndexPath = indexPath;

接下来,使用:

滚动到单元格
[_calendarView scrollToItemAtIndexPath:indexPath atScrollPosition: UICollectionViewScrollPositionNone animated:YES];

collectionView:cellForItemAtIndexPath:返回单元格时,与实例变量进行比较。如果匹配,请选择单元格,然后将实例变量设置为nil

答案 1 :(得分:1)

尝试使用以下UICollectionViewDelegate方法:

- (void)scrollToItemAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UICollectionViewScrollPosition)scrollPosition animated:(BOOL)animated;

PARAMS -

indexpath:单元格的索引路径

动画:是/否。

scrollPosition:滚动时单元格的位置。从以下选项中选择:

垂直位置 -

UICollectionViewScrollPositionTop                  
UICollectionViewScrollPositionCenteredVertically   
UICollectionViewScrollPositionBottom

横向位置 -

UICollectionViewScrollPositionLeft  
UICollectionViewScrollPositionCenteredHorizontally 
UICollectionViewScrollPositionRight