我有一个UICollectionView
和两个子类UICollectionViewFlowLayout
。当一个单元格被选中时,我调用setCollectionViewLayout:animated:
在布局之间切换。过渡完成后,选定的单元格居中,这很好。
可以在不实际选择单元格的情况下完成相同的居中行为吗?我试图调用setContentOffset:animated:
不同的方法,但没有成功。或者,我可以contentOffset
为要显示的布局指定一个自定义项吗?
更清楚地说,我想在不修改单元格selected
属性的情况下拥有这样的东西:
编辑#1
这是我已经拥有的:
[self.collectionView selectItemAtIndexPath:indexPath animated:NO scrollPosition:UICollectionViewScrollPositionNone];
[self.collectionView setCollectionViewLayout:layout animated:YES];
看起来不错:https ://www.dropbox.com/s/9u6cnwwdbe9vss0/17249646-0.mov
但如果我跳过selectItemAtIndexPath
:
[self.collectionView setCollectionViewLayout:layout animated:YES];
[self.collectionView scrollRectToVisible:targetFrame animated:YES];
这不是很好(一种挥舞动画):https ://www.dropbox.com/s/s3u2eqq16tmex1v/17249646-1.mov