UILabel在Swift中向左或向右移动

时间:2016-01-29 16:21:16

标签: ios swift

任何人都可以告诉我如何将UILabel向左或向右移动,具体取决于用户的输入(手指向左滑动,向右滑动手指向右移动,手指向右移动向右移动,手指向左移动向左移动?使用滑动手势识别器?

2 个答案:

答案 0 :(得分:3)

首先,您应该添加滑动手势识别器,例如在viewDidLoad:

override func viewDidLoad() {
   super.viewDidLoad()

   let swipeRight = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
   swipeRight.direction = .Right
   view.addGestureRecognizer(swipeRight)

   let swipeLeft = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
   swipeRight.direction = .Left
   view.addGestureRecognizer(swipeLeft)

   let swipeDown = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
   swipeDown.direction = .Down
   view.addGestureRecognizer(swipeDown)

   let swipeUp = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
   swipeDown.direction = .Up
   view.addGestureRecognizer(swipeUp)

}

然后你应该实现方法在滑动上移动标签:

func respondToSwipeGesture(gesture: UISwipeGestureRecognizer) {

switch swipeGesture.direction {
        case .Right:

           // Move Label to the right
           yourLabel.frame.origin.x += 100

        case .Down:
           // Move Label down
           yourLabel.frame.origin.y += 100

        case .Left: 
           // Move Label to the left
           yourLabel.frame.origin.x -= 100

        case .Up:
           // Move Label up
           yourLabel.frame.origin.y -= 100
    }
}

如果您想动画标签,请使用view.animateWithDuration

答案 1 :(得分:0)

您可以使用UISwipeGestureRecognizer向左或向右滑动以及UIView的动画来制作动画!