iOS卷曲动画以移除UIImageView。

3
我想用向上卷曲的动画从我的应用程序中删除一张图片。我已经有了。
[UIView transitionWithView:sender.view.superview duration:1.5
options:UIViewAnimationOptionTransitionCurlUp                           
animations:^ { [sender.view removeFromSuperview]; }
completion:nil];

但是这会将整个页面卷曲,并且看起来好像下面有一个没有图片的单独页面。
而不是“转换”到新页面,是否可以将图像从页面上卷曲而不影响页面的其余部分?我需要将imageview包装在“容器视图”中,并使用该视图更改过渡效果吗?
1个回答

9
你的视图参数为sender.view.superview,这意味着你想要父视图执行动画。只需删除superview部分即可。 编辑:另外,要想使某个对象进行动画处理,它必须是可以进行动画处理的属性。将视图从父视图中删除与其属性无关。您可以将视图动画到0透明度,然后在动画完成时从父视图中删除它,如下所示:
[UIView transitionWithView:sender.view
                  duration:1.5
                   options:UIViewAnimationOptionTransitionCurlUp                           
                animations:^ { sender.view.alpha = 0; }
                completion:^ { [sender.view removeFromSuperview]; }];

没有父视图动画就无法执行,它只是消失了而已。UIViewAnimationOptionTransitionCurlUp 是否可以应用于 UIImageView 上还是必须使用 UIView - Josh
UIImageView是UIView的子类,因此它应该可以进行动画处理,但我刚意识到您没有更改任何属性。这仅适用于可动画化的属性,例如alpha。请查看我的编辑答案。 - Filip Radelic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接