当我点击我的时,UIButton
我希望有一个涟漪效应,基本上是几个圆圈从它发出,同时增加和降低它们的不透明度。
我最初的反应是有几个UIImageView
s 的圆圈和CGAffineTransformMakeScale
稍大的尺寸,同时降低它们alpha
。但我觉得这不是最好的选择,因为它似乎只是为了看起来很愚蠢而创建图像,并且可能会产生一些不必要的偷听。
完成此任务的最佳方法是什么?如果您不使用私有 API,则会获得奖励积分。
当我点击我的时,UIButton
我希望有一个涟漪效应,基本上是几个圆圈从它发出,同时增加和降低它们的不透明度。
我最初的反应是有几个UIImageView
s 的圆圈和CGAffineTransformMakeScale
稍大的尺寸,同时降低它们alpha
。但我觉得这不是最好的选择,因为它似乎只是为了看起来很愚蠢而创建图像,并且可能会产生一些不必要的偷听。
完成此任务的最佳方法是什么?如果您不使用私有 API,则会获得奖励积分。
UIView
您可以在按钮后面创建几个添加透明的 s。像这样设置它们(伪代码):
UIView *ripple = [UIView alloc] initWithFrame:(initial frame)];
[ripple setBackgroundColor:[UIColor clearColor]];
[ripple.layer setCornerRadius:ripple.bounds.size.height /2]; //Assuming square images
[ripple setBorderColor:[UIColor redColor].CGColor];
[ripple setBorderThickness:4]; //Or whatever thickness you want
这将创建在运行时渲染的环(而不是图像)。然后你可以使用CGAffineTransformMakeScale
.
我在 GroovePond 应用程序中的 Logo 动画上使用了这种方法。(不是插件!)只需在应用商店中搜索即可了解我的意思,它是免费的,而且我所指的动画在第一个启动屏幕上。显然,在您的情况下,您也可以淡出不透明度。
虽然您可以查看更复杂的涟漪效果,使它们周围的视图变形,但如上所示的简单扁平环更符合 iOS7 的扁平化设计,尽管我猜这取决于您的应用程序的风格。