新手请教如何处理动画过程中旋转屏幕

2020-06-26 14:33:16 +08:00
 IsaacYoung
最近学习 iOS 开发做一个 demo App,效果是类似发牌的动画,卡牌堆在左下角,点击发牌,会从卡牌堆取三张卡片,通过 UIViewPropertyAnimator 移动到指定位置,如果动画执行过程中旋转屏幕,卡牌的宽高和要移动到目标位置可能会发生改变,怎么处理这种场景呢
2386 次点击
所在节点    iDev
1 条回复
chipmuck
2020-07-01 16:02:01 +08:00
可以重写 viewWillTransition(to:with:) 这个方法:

1. size 参数表示旋转后的 CGSize 值;
2. coordinator 可以调用 animate(alongsideTransition:completion:) 来调整旋转时和旋转后你所想要更新的 UI 布局。

具体的文档地址参考:

https://developer.apple.com/documentation/uikit/uicontentcontainer/1621466-viewwilltransition
https://developer.apple.com/documentation/uikit/uiviewcontrollertransitioncoordinator/1619300-animate

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/684857

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX