Ich habe ein bewegliches Bild mit UIPanGestureRecognizer und ich muss das Bild transparenter machen, je näher es an den Rand des Bildschirms kommt. Unten ist der Code, den ich verwende, um das Bild zu verschieben und zu drehen, je weiter es von der Mitte entfernt ist.Entfernung von der Kante in Swift 3
die UIPanGestureRecognizer zum UIView das Bild hinzuzufügen ist in:
let moveImage = UIPanGestureRecognizer(target: self, action: #selector(self.detectPan))
moveImage.cancelsTouchesInView = false
MainImageView.addGestureRecognizer(moveImage)
Die Funktion, die die UIPanGestureRecognizer beginnt bekommen genannt, wenn.
func detectPan(gesture: UIPanGestureRecognizer) {
if gesture.state == UIGestureRecognizerState.began || gesture.state == UIGestureRecognizerState.changed {
let translation = gesture.translation(in: self.view)
gesture.view!.center = CGPoint(x: gesture.view!.center.x + translation.x, y: gesture.view!.center.y)
gesture.setTranslation(CGPoint(x: 0,y: 0), in: self.view)
let newValue = CGFloat(((gesture.view!.center.x + translation.x) - (self.view.bounds.width * 0.50))/500)
MainImageView.transform = MainImageView.transform.rotated(by: -lastValue)
MainImageView.transform = MainImageView.transform.rotated(by: newValue)
lastValue = newValue
}
}
Vielen Dank! Das ist genau das, was ich brauchte :) –