我尝试重新制作iOS的图片库。
在图像的详细信息屏幕中,我想将导航栏的标题更新为
3 of 19
当 UICollectionView 停止滚动并更新'3'时,有没有办法获取可见对象的当前 indexpath.row 并在其旁边更新图像标题19'冠军。
答案 0 :(得分:3)
此代码工作正常!
- (void)collectionView:(UICollectionView *)collectionView didEndDisplayingCell:(UICollectionViewCell *)cell forItemAtIndexPath:(NSIndexPath *)indexPath{
BOPhotoCollectionViewCell* currentCell = ([[collectionView visibleCells]count] > 0) ? [[collectionView visibleCells] objectAtIndex:0] : nil;
if(cell != nil){
_index = [collectionView indexPathForCell:currentCell].row;
[self updateTitle];
}
}
答案 1 :(得分:3)
实现UIScrollViewDelegate的下方委托方法(因为UICollectionViewDelegate是从UIScrollViewDelegate继承而来的)。
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
NSInteger currentIndex = scrollView.contentOffset.x / scrollView.frame.size.width;
[self setTitle:[NSString stringWithFormat:@"%ld of %ld",(long)currentIndex + 1, (long)self.itemList.count]];
}