- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 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/
我是一名优秀的程序员,十分优秀!