2

我正在为水族馆开发 iPhone 应用程序。在那我使用波纹效果代码如下:

CATransition *animation = [CATransition animation];

[animation setDelegate:self];
[animation setDuration:0.6];
[animation setTimingFunction: [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];

animation.type = @"rippleEffect";
animation.subtype = kCATransitionFromLeft;
animation.fillMode = kCAFillModeBackwards;
animation.startProgress = 0.4;
[animation setRemovedOnCompletion:NO];

[self.view.layer addAnimation:animation forKey:@"rippleEffect"];
[self performSelector:@selector(fn_btnOperation) withObject:nil afterDelay:0.40];

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.70];

它工作得很好,但问题出在调用此动画之后:我的应用程序中的 tableview、textview、scrollview 无法正常工作。滚动越来越延迟,而且不流畅。任何人都可以解决这个问题吗?

4

1 回答 1

1

请注意,该过渡效果未记录在案。我向 Apple 的工程师询问了有关使用文档中没有的动画类型的问题。他们说,虽然他们的自动化工具不会检测到这类事情,但它仍然是一个未记录的 API,因此违反了他们的指导方针,如果你使用它们,你的应用就有被拒绝的风险。

由于您使用的是未记录的过渡效果,因此您只能自己弄清楚如何使其正常工作。

于 2012-05-09T16:32:58.260 回答