1
當我的視圖控制器的視圖出現時,我想讓其集合視圖中的所有單元格水平翻轉。動畫集合在iOS中查看單元格
這怎麼辦?我看着UIDynamics並沒有找到翻轉動畫。我有一個使用核心動畫的動畫,它會翻轉視圖,我不知道如何將它應用到單元格。
當我的視圖控制器的視圖出現時,我想讓其集合視圖中的所有單元格水平翻轉。動畫集合在iOS中查看單元格
這怎麼辦?我看着UIDynamics並沒有找到翻轉動畫。我有一個使用核心動畫的動畫,它會翻轉視圖,我不知道如何將它應用到單元格。
您可以UICollectionViewFlowLayout的子類使用此方法:
- (UICollectionViewLayoutAttributes *)initialLayoutAttributesForAppearingItemAtIndexPath:(NSIndexPath *)itemIndexPath
{
UICollectionViewLayoutAttributes *layoutAttributes = [super initialLayoutAttributesForAppearingItemAtIndexPath:itemIndexPath];
CATransform3D transform = CATransform3DMakeRotation(DEGREES_TO_RADIANS(180.0), 0.0, 1.0, 0.0);
layoutAttributes.transform3D = transform;
return layoutAttributes;
}
什麼這通常做的就是抓住你的collectionViewCell的初始佈局屬性和有它水平翻轉。插入單元格時,flowLayout將執行從這些初始屬性到該單元格的原始屬性的線性動畫。如果調用
- (void)performBatchUpdates:(void (^)(void))updates completion:(void (^)(BOOL finished))completion;
,並使用
- (void)insertItemsAtIndexPaths:(NSArray *)indexPaths;
到更新塊的插入通過這種方法將被調用。