• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 弹出 collectionview 单元格并缩放 - uicollectionviewcell 动画

[复制链接]
菜鸟教程小白 发表于 2022-12-13 15:30:50 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我试图用我的收藏 View 选择创建一个很酷的动画。基本上我有一个显示照片单元的 Collection View 。我想要发生的是让单元格弹出其位置,缩放并移动到屏幕中心,提示用户确认选择。

到目前为止,这是我的代码,但目前动画采用单元格的原始帧位置,所以如果我滚动它并没有考虑到帧位置不再相同。

- (void)collectionViewUICollectionView *)collectionView didSelectItemAtIndexPathNSIndexPath *)indexPath{

PhotoCell *cell = (PhotoCell *)[collectionView cellForItemAtIndexPath:indexPath];
collectionView.allowsSelection = NO;
[self createAnimationWithCell:cell];

}

- (void)createAnimationWithCellPhotoCell *)cell {

UIImageView *selectedImage = [[UIImageView alloc] initWithFrame:cell.bounds];
selectedImage.center = cell.center;
selectedImage.image = cell.imageView.image;
[self.view addSubview:selectedImage];

[UIView animateWithDuration:2.5 animations:^{
    selectedImage.center = self.view.center;
} completion:^(BOOL finished) {
    [selectedImage removeFromSuperview];
    self.collectionView.allowsSelection = YES;
}];
}



Best Answer-推荐答案


我自己解决了:

对于那些遇到同样问题的人,我们必须考虑到 Collection View 滚动(偏移)的程度并使用该信息。我创建了一个名为 collectionViewOffset 的变量,并给它一个初始值 0.0

然后使用:

- (void)scrollViewDidScrollUIScrollView *)scrollView
{
    // getting the scroll offset
    collectionViewOffset = scrollView.contentOffset.y;
    NSLog(@"offset: %f", collectionViewOffset);
}

- (void)collectionViewUICollectionView *)collectionView didSelectItemAtIndexPathNSIndexPath *)indexPath{

      PhotoCell *cell = (PhotoCell *)[collectionView cellForItemAtIndexPath:indexPath];
      //collectionView.allowsSelection = NO;
      //collectionView.scrollEnabled = NO;

     [cell.superview bringSubviewToFront:cell];
     [UIView animateWithDuration:2.0 delay:0 usingSpringWithDamping:0.7 initialSpringVelocity:.2 options:UIViewAnimationOptionCurveLinear animations:^{
     cell.center = CGPointMake(self.view.vWidth/2, self.bannerView.vBottomEdge + collectionViewOffset + 40);
     } completion:^(BOOL finished) {

     }];
}

关于ios - 弹出 collectionview 单元格并缩放 - uicollectionviewcell 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36233081/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap