Zmodyfikowałem programowo jedno ograniczenie dotyczące autolayout. Ma on wpływ na jeden określony widok, ale inne widoki ograniczone do tego widoku innymi ograniczeniami nie zmieniają swoich pozycji. Czy istnieje metoda "updateAllConstrains"?Jak mogę wyzwolić, aby zaktualizować wszystkie ograniczenia dotyczące autolayout?
Odpowiedz
Problem polegał na tym, że ograniczenia nie zostały prawidłowo skonfigurowane, w tym przypadku pomocne mogą być wartości inne niż setNeedsLayout lub updateConstraintsIfNeeded.
Tak Nie jest to metoda na UIView nazywa - (void)updateConstraintsIfNeeded
Jednak nie sądzę, to jest twój problem
Połącz te dwie metody na widok, który ma zostać zaktualizowany:
-setNeedsLayout
-layoutIfNeeded
Pierwszy mówi układowi, że ten widok musi zostać ułożony, ponieważ ma pewne zmiany i wszystko powinno zostać ponownie obliczone. Drugi wymusza uruchomienie systemu układu, system układu uruchamia się w określonych momentach podczas działania, za pomocą tej metody mówisz: "zrób to teraz".
Czy mogę zmienić ograniczenia widoku obrazu poprzez kliknięcie przycisku UIBUT? Jeśli tak, proszę wyjaśnić, ponieważ jestem w tym nowy. – Sofeda
Całkowicie zgadzam się z tą odpowiedzią! – Hamsternik
Najlepszy znalazłem to:
Zaznacz elementy, które chcesz "pop" z powrotem do swoich ograniczeń
Górne menu: Edytor/Aktualizacja Frames (lub /), skrót: polecenie + Option + =
Mamy nadzieję, że pomoże
Może coud piszesz ekran swoimi ograniczeniami: jedynym moim zdaniem, przypuszczam, jest to, że te inne poglądy są w jakiś sposób powiązane z innymi elementami nierozciągliwymi ograniczeniami. – nikans