iphone – 有没有其他方法可以使用动画块来执行此动画?

iphone – 有没有其他方法可以使用动画块来执行此动画?,第1张

概述我正在通过执行以下 *** 作来执行卷曲动画: CATransition *animation = [CATransition animation];animation.type = @"pageCurl";animation.subtype = kCATransitionFromTop;animation.fillMode = kCAFillModeForwards;animation.dura 我正在通过执行以下 *** 作来执行卷曲动画:

CATransition *animation = [CATransition animation];animation.type = @"pageCurl";animation.subtype = kCATransitionFromtop;animation.fillMode = kCAFillModeForwards;animation.duration = 1;animation.timingFunction = [camediatimingFunction functionWithname:kcamediatimingFunctionEaseIn];[[self.vIEw.window layer] addAnimation:animation forKey:nil];

此动画将简单地执行页面卷曲动画,但最后您将看到您开始使用的相同视图.没有真正的转变发生过.

现在使用动画块,我知道你可以做一些事情的效果:

[UIVIEw TransitionFromVIEw:self.vIEw                    toVIEw:aNewVIEw    // a vIEw to Transition to                  duration:1                    options:uiviewanimationtransitionCurlUp|UIVIEwAnimationoptionCurveEaseIn                completion:NulL];

但是,使用动画块可以转换到新视图aNewVIEw,它与上面重复使用同一视图的CATransition动画不同(不会发生真正的转换).动画块的问题在于你必须实际创建新视图以转换到我的情况下很麻烦,因为视图相当复杂,我宁愿不创建UIVIEw子类.

有没有办法使用动画块执行上述CATransition动画,同时解决重建视图或创建自定义子类的困难?

解决方法 好的 – 所以我想对任何有兴趣的人都知道了.它实际上非常简单.您只需使用以下方法:TransitionWithVIEw:duration:options:animations:completion:

例如:

[UIVIEw TransitionWithVIEw:self.vIEw                  duration:1                   options:UIVIEwAnimationoptionTransitionCurlUp|UIVIEwAnimationCurveEaseIn                animations:^{ // do anything you want here }                 completion:NulL];

而已.这将显示返回到同一视图的过渡动画.您可以在动画块中对新视图进行任何更改(可能会显示一些新文本,无论……).

我希望这有助于某些人走出困境……

总结

以上是内存溢出为你收集整理的iphone – 有没有其他方法可以使用动画块来执行此动画?全部内容,希望文章能够帮你解决iphone – 有没有其他方法可以使用动画块来执行此动画?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1079652.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存