用collectionView取代tableview更容易實現動畫炫酷效果。

- (void)applyLayoutAttributes:(UICollectionViewLayoutAttributes *)layoutAttributes
{
    [super applyLayoutAttributes:layoutAttributes];

    CGFloat featuredHeight = 280.f;
    CGFloat standardHeight = 100.f;

    CGFloat delta = 1 - ((featuredHeight - CGRectGetHeight(self.frame)) / (featuredHeight - standardHeight));

    CGFloat minAlpha = 0.3f;
    CGFloat maxAlpha = 0.75f;

    CGFloat alpha = maxAlpha - (delta * (maxAlpha - minAlpha));
    self.overlayView.alpha = alpha;

    CGFloat scale = MAX(delta, 0.5f);
    self.titleLabel.transform = CGAffineTransformMakeScale(scale, scale);

    self.descriptionLabel.alpha = delta;

}


這是SFFocusViewLayout裏面的一段代碼。 這會動態的改變當前屏幕首行的collectionview的frame,而達到動畫效果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章