1

當我的視圖控制器的視圖出現時,我想讓其集合視圖中的所有單元格水平翻轉。動畫集合在iOS中查看單元格

這怎麼辦?我看着UIDynamics並沒有找到翻轉動畫。我有一個使用核心動畫的動畫,它會翻轉視圖,我不知道如何將它應用到單元格。

回答

2

您可以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; 

到更新塊的插入通過這種方法將被調用。

相關問題