gpt4 book ai didi

ios - 如何将手势和动画结合在一起

转载 作者:行者123 更新时间:2023-11-29 12:00:39 25 4
gpt4 key购买 nike

在 iOS 动画方面,我是初学者。我知道你可以做固定的(非手势控制的)动画,你可以在固定的时间段内为 View 的属性设置动画。然而,这与使用手势控制动画完全不同。

您知道如何将一张 8x11 的纸折叠起来放入信封并邮寄……您将其折叠成三分之一。好吧,基本上,我的老板想要一个界面,这样它的 2/3rds 一次显示在屏幕上,另外三分之一通过手势滑入/滑出屏幕。所以基本上,屏幕会显示三分之一的 1 和 2,或者三分之一的 2 和 3,具体取决于您是向左还是向右滑动。

现在这也意味着做一些事情,比如捕捉/橡皮筋、弹跳、加速/减速、粘性。我不知道从哪里开始做这样的事情。我假设这些类型的 Action 还没有内置到任何 iOS 框架中,如果你想要捕捉/橡皮筋、弹跳、加速/减速,你必须完全从头开始编程。

就像 View 如何知道我的人工捕捉/弹跳点以及粘性行为,这样您在到达任意位置之前将手指从屏幕上移开, View 就会弹回到它之前的位置。

您建议我从哪里开始研究如何使用手势驱动动画?

最佳答案

我建议你看看Core Animation。您可以制作一些非常复杂的动画,包括加速、减速、弹跳等。

您可以轻松地创建一个 UIPanGestureRecognizer跟踪某人何时将手指拖过屏幕。将操作 wasDragged 附加到您的 gestureRecognizer

来自文档:

A panning gesture is continuous. It begins (UIGestureRecognizerStateBegan) when the minimum number of fingers allowed (minimumNumberOfTouches) has moved enough to be considered a pan. It changes (UIGestureRecognizerStateChanged) when a finger moves while at least the minimum number of fingers are pressed down. It ends (UIGestureRecognizerStateEnded) when all fingers are lifted.

wasDragged 中检查 gestureRecognizer 处于何种状态。如果状态为 UIGestureRecognizerStateChanged,则您可以调整 UIView 的大小或位置,使其看起来像是在将其拖出。如果状态为 UIGestureRecognizerStateEnded,请检查手势结束的点是否大于您的阈值点(例如屏幕的一半)。如果不是,则使用动画将 View 捕捉回来,如果是,则将 View 捕捉到您想要的位置。

希望这是有道理的。

关于ios - 如何将手势和动画结合在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37169558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com