Ich habe eine UIView
in einer Portrait-App.Wie man zentriertes Quadrat nach oben animiert
- Die Ansicht wird vertikal zentriert und horizontal mit
AutoLayout
("manuell" können Storyboards). - Die
width
entspricht die(main)view.width * 0.9
- Die
height
die gleiche Größe der Breite ist (es ist ein Quadrat).
Ich möchte in diesem UIView
eine Schaltfläche tippen und sie animieren nur vertikal, bis sie den oberen Rand des Bildschirms erreicht (z. B. Höhe * 0,9, 10 Punkte, was auch immer möglich ist).
Wenn ich noch einmal klicke, möchte ich die Ansicht wieder auf ihre ursprüngliche Position positionieren (zentriert wie beim ersten Antippen).
Während des Übergangs sollte das Quadrat nicht tappbar sein.
Nach dem Lesen vieler Beiträge konnte ich nicht verstehen, was der beste Weg ist, dies zu tun
Ich denke, ich sollte einen Weg finden, um die aktuelle "Position" der Beschränkungen zu erhalten und eine Beschränkung der "endgültigen" Position zuzuweisen, aber ich war nicht in der Lage, es zu tun.
Jede Hilfe
Was sind die Einschränkungen für die Ansicht? – Sweeper
Wie ich schon sagte, ist es vertikal und horizontal zur ViewController-Hauptansicht zentriert und seine Höhe und Breite sind definiert als 0.9 der Breite der ViewController Breite –
Setze uiview center wie x = (main) view.center.x, und y wie y = squreView.frame.origion.x + squreView.frame.height/2 All diese Sachen in uiview.Animation-Funktion und wenn Sie zurück wollen squre Zentrum wie (main) view.center –