我想像这个链接一样创建UIView动画
我在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中创建相同的东西。请帮助我
答案 0 :(得分:4)
您的代码的以下几行看起来很好:
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
方法添加子视图后调用它。
答案 1 :(得分:1)
希望这可以帮助你Sample class
UIView + Glow是UIView上的一个类别,它增加了对视图发光的支持(用于突出显示部分屏幕以鼓励用户与其进行交互)。
要了解它可以用于什么以及如何使用它,请查看blog post