使用UIPanGestureRecognizer移动和缩放UIView

时间:2017-11-08 16:24:02

标签: ios objective-c

我在self.view上有一个UIView添加子视图。

我希望UIPanGestureRecognizer在右/左/上/下是UIView移动和缩放跟随触摸。

当UIView宽度/高度小于0.5宽度/高度self.view是UIView将解雇。

请建议帮帮我?

1 个答案:

答案 0 :(得分:1)

让我们说你有vc - ViewController,你的UIView A是vc的子视图。您可以将UIPanGestureRecognizer添加到A.然后将panGestureRegonizer拖动到您的vc作为操作:

@IBAction func panGestureAction(_ sender: UIPanGestureRecognizer) {
        UIView.animateKeyframes(withDuration: 0.1, delay: 0, options: UIViewKeyframeAnimationOptions.calculationModeLinear, animations: {
            let location = sender.location(in: sender.view?.superview)
            sender.view?.center = location
        })
    }

这里sender.view?.superview等于vc.view。此代码段将检测平移手势,然后将移动A以使A.center与手势的位置匹配。请注意,持续时间0.1为运动提供了平滑的动画效果。