首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用UIView增加惯性的UIDynamicBehavior盘

用UIView增加惯性的UIDynamicBehavior盘
EN

Stack Overflow用户
提问于 2016-08-01 20:20:46
回答 1查看 528关注 0票数 0

我正试着用“blockView”来形容UIPanGestureRecognizer。当“结束”时,希望“blockView”以惯性减速,就像UIScrollView以惯性结束滚动一样。

代码语言:javascript
复制
override func viewDidLoad() {
    super.viewDidLoad()
    self.dynamicAnimator = UIDynamicAnimator(referenceView: self.view)

    let collider = UICollisionBehavior(items: [self.magnifiedView!])
    collider.collisionDelegate = self
    collider.collisionMode = .Boundaries
    collider.translatesReferenceBoundsIntoBoundary = true
    self.dynamicAnimator.addBehavior(collider)

    self.dynamicProperties = UIDynamicItemBehavior(items: [self.magnifiedView!])
    //self.dynamicProperties.elasticity = 1.0
    //self.dynamicProperties.friction = 0.0
    self.dynamicProperties.allowsRotation = false
    //self.dynamicProperties.resistance = 10.0
    self.dynamicAnimator.addBehavior(self.dynamicProperties)

}


func panBlockView (panGesture: UIPanGestureRecognizer) {
    switch panGesture {
    case .Began:
        self.blockViewLocation = (self.blockView.center)!
    case .Changed:
        let translation = panGesture.translationInView(self.view)
        self.blockView.center = CGPointMake(self.blockViewLocation.x + translation.x, self.self.blockViewLocation.y + translation.y)
    case .Ended, .Cancelled:
        self.dynamicAnimator.addLinearVelocity(panGesture.velocityInView(self.view), forItem: self.blockView)
    }
}

问题:当我浏览视图时,“blockView”试图找到pan的起源。当平底锅“结束”时,它会产生惯性,但它从平底锅的起源开始(在拍到锅原点之后)。

注意:上面的代码只为浏览视图而工作,不存在任何问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-16 15:45:45

添加一个快照行为并让它修复这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38707429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档