2017-08-09 4 views
0

Relativ neu für iOS-Anwendungen und schnell, so bin ich ein wenig verloren, wie es weiter geht.Animieren einer ZoomScale auf UIScrollView mit Swift

Grundsätzlich habe ich eine UIImageView, und ich bin in der Lage zu kneifen, um zu zoomen/scrollen, wie meine UIImageView ist in einem UIScrollView, aber ich möchte ein Doppeltippen auf die UIImage hinzuzufügen, um auch zu vergrößern.

Ich bin in der Lage zu vergrößern (stellen Sie die ZoomScale für jetzt auf 3.0), aber ich möchte einen reibungslosen Übergang haben. Ich habe die Methode Zoom (zu :, animiert :) gesehen, aber ich war mir nicht sicher, wie ich in die Mitte der Ansicht zoomen sollte.

Wie auch immer, hier ist, was ich bisher habe.

Ich habe die tapGestureRecognizer erstellt, und es den UIImageView zugewiesen

let tapGesture = UITapGestureRecognizer(target: self, action: #selector(tapImageViewGesture))   
    self.Image1.isUserInteractionEnabled = true 
    self.Image1.addGestureRecognizer(tapGesture) 

und unten ist die Funktion des Zoom-

func tapImageViewGesture(sender: UITapGestureRecognizer) { 
    print("Touched") 
    self.pinchZoomScroll1.zoomScale = 3.0 

} 

Gibt es eine einfache Möglichkeit, ich irgendeine Art haben kann ausführen von einer glatten Animation des Heranzoomens?, oder sollte ich mit der Verwendung der Zoomfunktion stattdessen gehen, da es Animation bereits unterstützt?

Vielen Dank !!

+0

Haben Sie versucht, 'self.pinchZoomScroll1 .setZoomScale (3.0, animiert: true) '? – OOPer

+0

das funktioniert, muss ich diese Funktion übersehen haben. Vielen Dank! (wenn Sie die Antwort unten setzen, werde ich es akzeptieren. – Rickybobby

+0

Bitte schreiben Sie eine Antwort selbst. Ich posten normalerweise eine Antwort nur, wenn ich in meinem env bestätigen kann. – OOPer

Antwort

1

Entweder können Sie Set-Animation auf true gesetzt durch diese Verwendung:

self.pinchZoomScroll1.setZoomScale(3.0, animated: true) 

oder Sie können auch Scroll delegieren func indem scrollViewminimumScale und max Skala verwenden:

pinchZoomScroll1.minimumZoomScale = 1.0 
pinchZoomScroll1.maximumZoomScale = 6.0 

func viewForZooming(in scrollView: UIScrollView) -> UIView? { 

return Image1 
} 
Verwandte Themen