iPhone - 在UIImageView上具有Ripple效果

时间:2011-05-12 05:08:55

标签: iphone uiimageview image-manipulation ripple

我试图在触摸时在imageView上创建类似波纹的效果,但是我不明白如何为Windows实现OpenGL并将其移植到iOS。我试图使用http://www.codeproject.com/KB/openGL/dsaqua.aspx以及cocos2d但是我发现后者完全和完全混淆。有人愿意提出一些建议或者能指出我正确的方向吗?

非常感谢!

5 个答案:

答案 0 :(得分:48)

如果您想在视图上产生涟漪效果,可以使用它。

    CATransition *animation = [CATransition animation];
[animation setDelegate:self];
[animation setDuration:2.0f];
[animation setTimingFunction:UIViewAnimationCurveEaseInOut];
[animation setType:@"rippleEffect" ];
[myView.layer addAnimation:animation forKey:NULL];

答案 1 :(得分:7)

使用以下iPhone中的连锁效果

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:(UIViewAnimationTransition) 110 forView:view cache:NO];
[UIView commitAnimations];

要获得更多效果,您可以查看以下链接:

http://www.iphonedevwiki.net/index.php?title=UIViewAnimationState

答案 2 :(得分:7)

@ Rony在Swift中的CATransition Ripple

let animation = CATransition()
animation.delegate = self
animation.duration = 2
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
animation.type = "rippleEffect"
myView.layer.addAnimation(animation, forKey: nil)

(这是我的第一篇文章,如果我做得对,那就是idk:D)

答案 3 :(得分:3)

适用于Swift 3.0

let animation = CATransition()
animation.delegate = self
animation.duration = 5.0
animation.timingFunction = CAMediaTimingFunction(name : kCAMediaTimingFunctionEaseInEaseOut)
animation.type = "rippleEffect"
viewForAnimation.layer.add(animation, forKey: nil)

答案 4 :(得分:1)

我尝试了上面提到的代码,但没有一个完美无缺。找出以下源代码。 https://github.com/willstepp/gl_image_ripple