Ich habe ein Stück Kernanimation mit 2 Methoden, um Aussehen zu geben, dass das Objekt in der Größe von der Mitte-auswärts von der vorhandenen Position wächst ...Kernanimation (Größenänderung) mit Autolayout-Herausforderung
(1) viewDidLayoutSubviews()
self.imageView.frame = CGRectMake (187, 249, 0, 0)
, die für dieses Imageview Objekt in der Mitte des Bildschirms ist
(2) viewDidAppear() - mit Animationsblock der Dauer 1 Sekunde. z.B.
UIView.animateWithDuration(1.0, delay: 1.5, options: [], animations: {
self.imageView.frame = CGRectMake(16, 70, 343, 358)
}, completion: nil)
was Objekt in voller Größe, für die spezifische Bildschirmgröße, wo ich es zeigen möchte.
Wenn ich die x- und y-Koordinaten für CGRectMake (...) auf der iPhone-Größe verwende Ich suche nach sie funktionieren, aber wenn ich Simulator mit verschiedenen Bildschirmgrößen versuche, funktioniert es nicht in Verbindung mit den Auto-Layout-Einschränkungen, überschreibt jedoch die vorhandenen Einschränkungen.
Frage (n) ...
Gibt es eine Möglichkeit, diese Animation Arbeit zu machen, indem sie proportional zur Bildschirmgröße irgendwie, anstatt explizite Koordinaten und Größen Zentrierung? über CGRectMake ...? (... scheint einen Zusammenstoß zwischen der Verwendung von Autolayout und Animation zu zeigen)
Idealerweise suche ich nach einer eleganten einfachen Lösung? oder bin ich an der Grenze der Technik?
Vielen Dank im Voraus!
Wenn ich eine IBOutlet aus dem Storyboard-Code Viewcontroller, die Optionen für das Objekt erstellen, sind wit erstellen h UIImageView, rahter als NSLayoutConstraint !. Gibt es noch etwas, das ich hinzufügen muss, um deine Idee oben auszuprobieren? – devim1
Zusätzlich benötigt CGRectMake noch genaue x, y, width, height für das endgültige Layout für die Animation. Von daher sehe ich immer noch einen Konflikt zwischen Animation und Auto-Layout – devim1
Sie zentrieren Ihre Bildansicht in der Superansicht X, Y . dann geben Sie es ein Seitenverhältnis von 1: 1 dann Höhenbeschränkung = 0, die Sie es als Steckdose nehmen werden dann werden Sie Höhe animieren self.myViewHeight.constant = 300 –