Я просто создал два движущихся/перетаскиваемым UIImageView
которые должны двигаться по большей UIImageView
ниже, как показано на следующем скриншоте:Swift: как управлять несколькими перетаскиваемых UIImageViews с touchesBegan/Переехал
И это мой код:
class PhotoViewController: UIViewController, UINavigationControllerDelegate, UIImagePickerControllerDelegate {
@IBOutlet weak var imageView: UIImageView!
@IBOutlet weak var redA: UIImageView!
@IBOutlet weak var redB: UIImageView!
var imagePicker: UIImagePickerController!
var redLocationA:CGPoint = CGPoint(x:0, y:0)
var redLocationB:CGPoint = CGPoint(x:0, y:0)
override func viewDidLoad() {
super.viewDidLoad()
self.redA.center = CGPointMake(80, 330)
self.redB.center = CGPointMake(80, 360)
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
self.redLocationA = (touches.first?.locationInView(self.view))!
self.redA.center = redLocationA
self.redLocationB = (touches.first?.locationInView(self.view))!
self.redB.center = redLocationB
}
override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) {
self.redLocationA = (touches.first?.locationInView(self.view))!
if ((redLocationA.x >= 26 && redLocationA.x <= 292) && (redLocationA.y >= 71 && redLocationA.y <= 461)){
redA.center = redLocationA
}
if ((redLocationB.x >= 26 && redLocationB.x <= 292) && (redLocationB.y >= 71 && redLocationB.y <= 461)){
redB.center = redLocationB
}
print("redA: \(redLocationA)")
print("redB: \(redLocationB)")
}
...
}
Как вы можете себе представить, когда я нажимаю на булавку то и другое перемещается в положение первого и это, я думаю, потому что я всегда выполнять сек ame от touches: Set<UITouch>
. Каков правильный способ управления обоими выводами без положения первого, перезаписывается в позиции второго при каждом нажатии? Спасибо
Мда ... Я последовал за учебник на Youtube, благодаря которому я написал код, я думал, что это был правильным. Я понятия не имею об panGestureRecognizer ... если вы можете связать мне хороший учебник, я был бы признателен –
Я не знаю, с каким учебником вы хорошо справляетесь, но если вы google UIPanGestureRecognizer или даже UIGestureRecognizer, они не слишком сложны , Вот документация, если это помогает: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIPanGestureRecognizer_Class/ – Tyrelidrel