ios - 用动量实现按钮拖动?
<p><p>我已经设法使用此链接中显示的代码在 Objective-C 中为 iPhone 应用程序实现了一个可拖动按钮:
<a href="http://www.cocoanetics.com/2010/11/draggable-buttons-labels/" rel="noreferrer noopener nofollow">http://www.cocoanetics.com/2010/11/draggable-buttons-labels/</a> </p>
<p>我想知道是否存在一个可以实现动量拖动的库?
因此,如果用户移动按钮然后松开,它会继续移动一段时间,具体取决于阻力系数。</p>
<p>我搜索了一个库,在 Google 上搜索了“具有动力的 ios 按钮”,但结果为空...</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p><strong>如果你必须支持 iOS 6</strong></p>
<p>当平移手势结束时,您可以对按钮的 <code>center</code> 进行动画更改:</p>
<pre><code>if(panGestureRecognizer.state == UIGestureRecognizerStatedEnded)
{
finalVelocty.x = velocity.x;
finalyVelocity.y = velocity.y;
NSTimeInterval animationTime = 0.25; //adjust the time to your needs
[UIView animateWithDuration:0.25 animations:^{
button.center = ... // calculate button's 'final' center (depending on velocity?)
} completion:nil];
}
</code></pre>
<p><strong>适用于 iOS 7 或更新版本</strong></p>
<p>Apple 在 iOS 7 中引入了 UIKit Dynamics 框架(由 <a href="https://developer.apple.com/library/IOs/documentation/UIKit/Reference/UIDynamicAnimator_Class/index.html" rel="noreferrer noopener nofollow">UIDynamicAnimator</a> 和 UIDynamicItemBehavior 子类组成)。它是一个集成到 UIKit 中的物理引擎。您可以使用它来实现“动量”效果。 </p>
<p>您可能会发现有用的示例:<a href="http://www.teehanlax.com/blog/introduction-to-uimotioneffect/" rel="noreferrer noopener nofollow">http://www.teehanlax.com/blog/introduction-to-uimotioneffect/</a> </p></p>
<p style="font-size: 20px;">关于ios - 用动量实现按钮拖动?,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/27020010/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/27020010/
</a>
</p>
页:
[1]