如何创建 UIView 波纹圆圈动画?
Posted
技术标签:
【中文标题】如何创建 UIView 波纹圆圈动画?【英文标题】:How to create UIView ripple circle animation? 【发布时间】:2015-07-28 15:13:01 【问题描述】:我想像这个链接一样创建 UIView 动画
css3 ripple effect example
我已经在 ViewDidLoad() 中尝试了所有这些代码,但没有工作
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(200, 200, 100, 100)];
view.backgroundColor = [UIColor blueColor];
CATransition *animation=[CATransition animation];
[animation setDelegate:self];
[animation setDuration:1.75];
[animation setTimingFunction:UIViewAnimationCurveEaseInOut];
[animation setType:@"rippleEffect"];
[animation setFillMode:kCAFillModeRemoved];
animation.endProgress=1;
[animation setRemovedOnCompletion:NO];
[view.layer addAnimation:animation forKey:nil];
[self.view addSubview:view];
我想在 ios 中创建相同的东西。请帮助我
【问题讨论】:
尝试运行这是'viewDidAppear'。它可能在视图变得可见之前完成动画。 在视图中不工作也出现了 看不到那个链接,你能解释一下你到底想要什么吗? 你能打开这个链接,这样你就可以看到一个涟漪圈效果..就像 tinder 应用程序中的主屏幕 codepen.io/seansean11/pen/dhwzj 【参考方案1】:以下代码行看起来不错:
CATransition *animation=[CATransition animation];
[animation setDelegate:self];
[animation setDuration:1.75];
[animation setTimingFunction:UIViewAnimationCurveEaseInOut];
[animation setType:@"rippleEffect"];
[view.layer addAnimation:animation forKey:nil];
但是,问题在于您在将视图添加到其父视图之前应用了动画。这显然行不通!
尝试添加子视图然后应用动画。我也希望这不会起作用。
如果您在viewDidLoad
方法中将此视图添加到其父视图。在 ViewDidAppear 或 ViewWillAppear 方法中应用动画。
否则,请创建一个单独的方法来应用动画。并在添加子视图后通过调用performSelector:withObject:afterDelay
方法调用它。
【讨论】:
【参考方案2】:希望对你有帮助Sample class
UIView+Glow 是 UIView 上的一个类别,它增加了对使视图发光的支持(用于突出显示屏幕的一部分以鼓励用户与之交互)。
要了解它的用途和使用方法,请查看blog post
【讨论】:
以上是关于如何创建 UIView 波纹圆圈动画?的主要内容,如果未能解决你的问题,请参考以下文章