2016-05-12 6 views
2

Ich habe eine Animation, die ich versuche, in der Mitte der Ansicht zu positionieren. Hier ist mein aktueller Code auf statische Werte gesetzt:Einstellung des Ursprungs der Animation zum Mittelpunkt der Ansicht

imageViewAnimatedFrame.origin.x = 10 
imageViewAnimatedFrame.origin.y = 200 
imageViewAnimatedFrame.size.height = 298 
imageViewAnimatedFrame.size.width = 391 

Ich bin ziemlich neu zu Swift. Gibt es eine Möglichkeit, den Ursprung x und y auf die Mitte zu setzen, subtrahiert um die halbe Breite und Höhe, so dass er in der Mitte liegt? Danke!

+0

Sie können an der 'center' Eigenschaft suchen wollen von 'UIView'. – rmaddy

+0

Wenn ich UIView.center sage, heißt es, dass Sie nicht Center mit UIView verwenden können. Wenn ich view.center wie irgendwo anders in meinem Code sehe, heißt es: "Kann keinen Wert vom Typ" CGPoint "zuweisen, um" CGFloat "einzugeben. – Bailey

+0

Es wäre klarer, wenn Sie Ihre Frage mit relevantem Code aktualisieren, der zeigt, wie Sie versuchen zu verwenden und setze die Mitte – rmaddy

Antwort

0

Sie können so etwas tun,

let imageViewAnimatedFrame: UIImageView = UIImageView() 
    imageViewAnimatedFrame.frame = CGRectMake((self.view.frame.size.width/2) - 159.5, (self.view.frame.size.height/2) - 149, 391, 298) 

Dividieren Ansicht der Höhe und Breite von 2 und teilen Höhe und Breite Ihres Imageview ist durch 2. dann halbe Breite von Imageview aus Halbwertsbreitevon Ansicht als Position x subtrahieren und gleiche für Position y betrachte Höhe hier.

so ist Ihre Bildansicht immer in der Mitte.

Hope this helfen :)

0

Wenn Sie eine Image dieser Dimensionen haben:

imageViewAnimatedFrame.size.height = 298

imageViewAnimatedFrame.size.width = 391

imageViewAnimatedFrame.frame = CGRectMake((self.view.frame.size.width - 
imageViewAnimatedFrame.frame.size.width)/2, 
(self.view.frame.size.height - 
imageViewAnimatedFrame.frame.size.height)/2, 
imageViewAnimatedFrame.frame.size.width, imageViewAnimatedFrame.frame.size.height); 
Verwandte Themen