gpt4 book ai didi

ios - UICollectionView:1 行水平滚动(从右到左),带有来自右侧的新单元格的自定义动画

转载 作者:行者123 更新时间:2023-11-29 03:54:26 24 4
gpt4 key购买 nike

  • 我有一个包含图像的 1 行 Collection View
  • 我从右向左滚动图像

  • 我想为来自右侧的每个单元格制作动画(ala Google+)

该动画可以基于 Alpha 或帧位置

如何实现?

最佳答案

这可能不是您想要的动画,但这是我在 UICollectionViewCell 子类中所做的。当框架缩小到适当的大小时,这将在单元格中淡出。我从 collectionView: cellForItemAtIndexPath: 中调用 setPhoto 方法。

@implementation HistoryCollectionViewCell

- (void)setPhoto:(Photo*)photo {

if(_photo != photo) {
_photo = photo;
}

// Set up the animations here
self.photoQueue.alpha = 0.0f;
self.cellContainerView.alpha = 0.0f;
CGRect currentFrame = self.cellContainerView.frame;
CGFloat width = currentFrame.size.width + 20;
CGFloat height = currentFrame.size.height + 20;
CGFloat originX = currentFrame.origin.x - 10;
CGFloat originY = currentFrame.origin.y - 10;
CGRect newFrame = CGRectMake(originX, originY, width, height);
self.cellContainerView.frame = newFrame;

dispatch_queue_t photoQueue = dispatch_queue_create("com.jeremyfox.SnapTo.photoQueue", NULL);
dispatch_async(photoQueue, ^{

__block UIImage* image = nil;

if (_photo) {
image = [Photo getImageAtPath:_photo.thumbnail];
}

dispatch_async(dispatch_get_main_queue(), ^{
if (image) {
self.imageView.image = image;

// Perform the animations here
[UIView animateWithDuration:0.3f animations:^{
self.cellContainerView.alpha = 1.0f;
self.cellContainerView.frame = currentFrame;
}];
}
});
});
}

关于ios - UICollectionView:1 行水平滚动(从右到左),带有来自右侧的新单元格的自定义动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16678158/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com