如何创建UIView波纹圈动画?

nav*_*mar 6 animation objective-c uiview ios swift

我想像这个链接创建UIView动画

css3涟漪效应的例子

我已经在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];
Run Code Online (Sandbox Code Playgroud)

我想在iOS中创建相同的东西.请帮助我

has*_*san 4

您的代码的以下几行看起来不错:

CATransition *animation=[CATransition animation];
[animation setDelegate:self];
[animation setDuration:1.75];
[animation setTimingFunction:UIViewAnimationCurveEaseInOut];
[animation setType:@"rippleEffect"];
[view.layer addAnimation:animation forKey:nil];
Run Code Online (Sandbox Code Playgroud)

但是,问题是您在将视图添加到其超级视图之前应用动画。这显然行不通!

尝试添加子视图然后应用动画。我也预计这不会起作用。

如果您要在方法中将此视图添加到其超级视图中viewDidLoad。在 ViewDidAppear 或 ViewWillAppear 方法中应用动画。

否则,创建一个应用动画的单独方法。并在通过调用方法添加子视图后调用它performSelector:withObject:afterDelay