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

ios - UICollectionView 单元格没有选择翻转动画, View 丢失

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

didSelect 方法上的 UICollectionView 单元格翻转动画应该与单击的索引单元格的详细信息一起翻转,如果用户想要转到原始 View ,应该能够在单元格上看到。 我正在使用

 UICollectionViewCell* cell = [collectionView cellForItemAtIndexPath:indexPath];
    [UIView animateWithDuration:1.0
                          delay:0
                        optionsUIViewAnimationOptionAllowUserInteraction)
                     animations:^
     {

         [UIView transitionFromView:cell.contentView
                             toView:cell.contentView
                           duration:.5
                            options:UIViewAnimationOptionTransitionFlipFromRight
                         completion:nil];
     }
                     completion:^(BOOL finished)
     {

     }
     ];



Best Answer-推荐答案


在您的代码中,动画将您从 View 中移除并显示到 View 。因此,在集合中,如果内容 View 被移除,那么它如何返回。 所以,不要删除 View ,只需隐藏它。

请使用以下代码

CVCell* cell1 = (CVCell *)[collectionView cellForItemAtIndexPath:indexPath];
[UIView transitionWithView:cell1.contentView
                  duration:5
                   options:UIViewAnimationOptionTransitionFlipFromLeft
                animations:^{

                    if (cell1.isred) {
                     cell1.isred = NO;
                        cell1.greenview.hidden = NO;
                        cell1.redView.hidden=YES;
                    } else {
                        cell1.isred = YES;
                        cell1.greenview.hidden = YES;
                        cell1.redView.hidden=NO;
                    }

                } completion:nil];

greenview 是第一个 View ,redview 是第二个添加到单元格上的 View 。 现在,当翻转第一个 greenview 时,会显示 redview 并隐藏 redview,下一次反之亦然

你可以试试其他动画

    CATransition *animation = [CATransition animation];
    animation.delegate = self;
    animation.duration = 2.6f;
    animation.timingFunction = UIViewAnimationCurveEaseInOut;
    animation.fillMode = kCAFillModeForwards;
    animation.startProgress = 0.1;
    animation.endProgress = 1.0;
    animation.removedOnCompletion = YES;
    animation.type = @"cube";//---
animation.subtype = (cell1.isred)?kCATransitionFromLeft:kCATransitionFromRight;
[CATransaction setCompletionBlock:^{
                    if (cell1.isred) {
                     cell1.isred = NO;
                        cell1.greenview.hidden = NO;
                        cell1.redView.hidden=YES;
                    } else {
                        cell1.isred = YES;
                        cell1.greenview.hidden = YES;
                        cell1.redView.hidden=NO;
                    }
}];

[cell1.contentView.layer addAnimation:animation forKey"Cameraanimation"];

关于ios - UICollectionView 单元格没有选择翻转动画, View 丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26879959/

回复

使用道具 举报

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

本版积分规则

关注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