Różnica między UIViewContentModeScaleAspectFit i UIViewContentModeScaleToFill?

Odpowiedzi:

182

Jeśli mówisz o UIViewContentMode , poniższe pochodzi z Doc .

UIViewContentModeScaleToFill

Skaluje zawartość, aby pasowała do jej rozmiaru, zmieniając w razie potrzeby współczynnik proporcji zawartości.

UIViewContentModeScaleAspectFit

Skaluje zawartość, aby dopasować ją do rozmiaru widoku, zachowując proporcje. Pozostały obszar granic widoku jest przezroczysty.

UIViewContentModeScaleAspectFill

Skaluje zawartość, aby wypełnić rozmiar widoku. Część zawartości może zostać przycięta, aby wypełnić granice widoku.

EmptyStack
źródło
Jaki jest przykład miejsca, w którym wystąpiłaby przezroczystość lub przycinanie? Wyobrażam sobie prostokąt i wydaje się, że ta klauzula nigdy nie zostanie wywołana.
Praxiteles,
Praxiteles, nie do końca rozumiem twoje pytanie. Ale z kontekstu mojej odpowiedzi powyżej, przycinanie prawdopodobnie wystąpi w UIViewContentModeScaleToFill i UIViewContentModeScaleAspectFill, jeśli współczynnik obrazu nie pasuje do współczynnika imageView. Proszę, popraw mnie, jeśli pomyliłem twoje pytanie. Dzięki.
EmptyStack
537

Możesz zobaczyć różnice między trybami treści tutaj:

wprowadź opis obrazu tutaj

Tryb przerysowania działa jak tryb skalowania do wypełnienia. Istnieje jednak różnica w sposobie ich rysowania, gdy zmienia się geometria widoku. Tryb Skaluj do wypełnienia wykorzystuje już wyrenderowaną zawartość, podczas gdy tryb Odrysowywanie ponownie renderuje zawartość.

erkanyildiz
źródło