有没有办法让drawRect动画化从上一个场景到下一个?
(令人惊讶的是)你可以在drawRect中设置动画- 尝试一下。您可以对任何其他属性进行淡入淡出、平移或动画处理。
然而,它是从“新鲜”、从空白开始的。
DrawRight 是不可见的。它发生在“后备缓冲区”中,只有当您准备好使用drawRect时,iOS才会在屏幕上显示该“后备缓冲区”。所以你绝对不能在drawrect 中设置动画。但是,您可以从任何地方提交动画指令,包括drawrect。但动画将在之后执行。
动画需要计时并向用户显示不同的帧。
您可以自己完成这一切(不断地强制重绘并每次在drawrect中做一些略有不同的事情),但这需要大量工作,特别是如果您希望正确完成的话。
幸运的是,iOS 为您编写了许多动画效果。要么使用 Core Animation,要么使用 UIKit 中的(更简单和基本的)动画。但由于它通过对视图的某些属性进行动画处理(例如整个视图的 alpha 或整个视图的旋转……),您可能需要重新排列视图和子视图才能充分利用它。
例如。每个马肢都是单独的子视图,您可以为它们的变换设置动画(无需重绘,iOS 将完成剩下的工作)
例如。新旧框架是两个独立的视图,您可以将新框架(位于顶部)从 alpha 0 动画到 alpha 1。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)