UIViewAutoResizingMasks to, co nazywamy "rozpórkami" i "sprężynami". Rozważ to: masz duży kwadrat z małym kwadratem w środku. Aby kwadrat pozostał doskonale wyśrodkowany, musisz ustawić stałą szerokość z każdej wewnętrznej krawędzi dużego kwadratu, aby go ograniczyć. To są rozpórki.
Sprężyny natomiast działają podobnie do UIView podczas obrotu. Powiedzmy, że nasz widok musi pozostać na dole ekranu, wyrównany w środku (podobnie jak pasek UIToolbar). Chcemy, aby jego sprężyna górna była elastyczna, aby po obróceniu widoku z 460 pikseli do 320 pikseli zachowała tę samą pozycję względem aktualnie zmienionych wymiarów ekranu. Podświetlenie jednej z tych sprężyn w IB jest równoznaczne z ustawieniem odpowiedniej maski UIViewAutoResizingMask, a podświetlenie górnej sprężyny jest szczególnie podobne do wywoływania myView.autoResizingMask = UIViewAutoresizingFlexibleTopMargin
.
Wartości mogą być stosowane w tandemie załączając je w parę nawiasów i za pomocą operatora OR jak myView.autoResizingMask = (UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleLeftMargin)
maski są numery raportowania do was, ponieważ są one typdef o NSUInteger i to są flagi, które jabłko je przypisał. Cmd + kliknij jeden, aby zobaczyć jego definicję metody.
@Flink - Twoja edycja jest źle. Przywróciłem swoją odpowiedź do pierwotnego stanu. Przeczytaj go uważnie, a zwłaszcza: "Straty są reprezentowane przez brak jednej z czterech" elastycznych marginesów "(tzn. Jeśli grupa NIE istnieje, maska tego marginesu jest określona):" – MattyG
Niestety, mój błąd. .. – Shmidt
bardzo pomocne, dzięki – kukudas