Ich änderte programmgesteuert ein Autolayout Constrain. Es wirkt sich auf eine bestimmte Ansicht aus, aber andere Ansichten, die mit anderen Einschränkungen auf diese Ansicht beschränkt sind, ändern ihre Positionen nicht. Existiert eine "updateAllConstrains" Methode?Wie kann ich auslösen, um alle Beschränkungen der automatischen Anordnung zu aktualisieren?
Antwort
Das Problem war, dass Constrains nicht ordnungsgemäß eingerichtet wurden, und in diesem Fall kann nicht die setNeedsLayout oder updateConstraintsIfNeeded helfen.
Ja Es wird ein Verfahren auf UIView - (void)updateConstraintsIfNeeded
genannt
Allerdings glaube ich nicht, das ist Ihr Problem
Rufen Sie diese beiden Methoden auf der Ansicht, die Sie aktualisiert werden soll:
-setNeedsLayout
-layoutIfNeeded
Der erste sagt dem Layout-System, dass diese Ansicht angelegt werden muss, weil es einige Änderungen hat und alles neu berechnet werden sollte. Die zweite Kraft, die das Layoutsystem jetzt ausführen soll, ist, dass das Layoutsystem zu bestimmten Zeiten während der Laufzeit ausgelöst wird. Mit dieser Methode sagst du: "mach es jetzt".
Kann ich Constrains eines Imageview durch UIButton click ändern? Wenn ja, wie erklären Sie bitte, wie ich neu darin bin. – Sofeda
Stimme voll und ganz mit dieser Antwort überein! – Hamsternik
Beste ich gefunden habe ist:
die Elemente auswählen, die Sie "Pop" zurück zu Ihren Einschränkungen
Top-Menü mögen: Editor/Update Frames (oder /) Abkürzung Befehl + Option + =
Hoffentlich
- 1. Wie bekomme ich ein UIStackView, um sein Layout zu aktualisieren?
- 2. Auslösen einer automatischen Videoanzeige basierend auf der Bildlaufposition
- 3. Beschränkungen der Postgres-Tabellenspaltennamen?
- 4. Wie kann ich einige Divs in der folgenden Anordnung einrichten?
- 5. Wie kann ich AngularJS zu "aktualisieren"
- 6. Kann diese Tabelle Anordnung
- 7. Wie kann ich einen sofortigen Alarm auslösen?
- 8. Wie kann ich mit react-router Zustandsänderungen auslösen?
- 9. Wie kann ich eine interne Schließanforderung auslösen?
- 10. Wie kann ich Ausnahmen vom Webservice auslösen?
- 11. Wie kann ich auslösen: dependent => zerstören
- 12. Wie kann ich Tastaturereignisse in CodeMirror auslösen?
- 13. Wie bekomme ich Cron, um meine Website (PHP) zu aktualisieren?
- 14. Postgres: Aktualisieren Sie alle Werte in der Spalte um eins?
- 15. Java: Wie benutze ich das Observer Design Pattern um alle Instanzen einer Klasse zu aktualisieren
- 16. Wie kann ich Ausnahmen in Delphi auslösen?
- 17. Wie kann ich den automatischen Füllmodus in Emacs deaktivieren?
- 18. Effizienter Weg, um alle Zeilen in einer Tabelle zu aktualisieren
- 19. SwingWorker um TreeModel zu aktualisieren?
- 20. Kann ich Codeigniter konfigurieren, um alle Probleme zu vermeiden?
- 21. MySQL - alle Datensätze zu aktualisieren
- 22. Aktualisieren, um alle Daten von datagridview zu entfernen C#
- 23. Wie kann ich in RxJava Observable aktualisieren?
- 24. Aktualisiere Sammlungsansichtshöhe, um alle Zellen in einer Tabellenansichtszelle unter Verwendung des automatischen Layouts
- 25. Wie verwende ich INotifyPropertyChanged, um eine Array-Bindung zu aktualisieren?
- 26. Wie erzwinge ich ein Telegramm, um die Linkvorschau zu aktualisieren?
- 27. Android Swipe Aktualisieren Layout nach oben scrollen, um zu aktualisieren
- 28. Wie kann ich MSBuild verwenden, um Versionsinformationen nur zu aktualisieren, wenn eine Assembly geändert wurde?
- 29. Erhöhen Feldgrße, groß genug, um eine andere Anordnung zu halten
- 30. YouTube-Daten-API-Beschränkungen?
Vielleicht helfen Sie, einen Bildschirm Ihrer Einschränkungen coud schreiben: Der einzige Gedanke, den ich annehmen kann, ist, dass diese anderen Ansichten irgendwie durch nicht dehnbare Zwänge mit anderen Elementen verbunden sind. – nikans