首页 > 解决方案 > 如何让视图跟随我的手指移动?方向是从左到右

问题描述

我想实现一个类似于滑块的功能。例如,按钮跟随手指从左向右移动。像这样: 在此处输入图像描述

我应该使用 UISwipeGestureRecognizer。还是 UIPanGestureRecognizer?我使用了滑动手势但我不知道如何更新框架。

var swipeRight = UISwipeGestureRecognizer(target: self, action: 
#selector(self.respondToSwipeGesture(sender:)))
swipeView.isUserInteractionEnabled = true
swipeView.addGestureRecognizer(swipeRight)

标签: iosswiftuiviewuigesturerecognizeruitouch

解决方案


您可以将平移手势添加到要拖动的视图中。拖动的方法如下所示:

func draggedView(_ sender: UIPanGestureRecognizer) {
    let translation = sender.translation(in: self.view)
    draggableView.center = CGPoint(x: draggableView.center.x + translation.x, y: 
    draggableView.center.y)
    sender.setTranslation(CGPoint.zero, in: self.view)
}

您可以使用平移 x 或 y,具体取决于您要水平或垂直移动视图,或两者兼而有之。


推荐阅读