Différence entre UIViewContentModeScaleAspectFit et UIViewContentModeScaleToFill?

Réponses:

182

Si vous parlez de UIViewContentMode , ce qui suit provient du Doc .

UIViewContentModeScaleToFill

Met le contenu à l'échelle pour l'adapter à sa taille en modifiant le rapport hauteur / largeur du contenu si nécessaire.

UIViewContentModeScaleAspectFit

Met le contenu à l'échelle pour l'adapter à la taille de la vue en conservant les proportions. Toute zone restante des limites de la vue est transparente.

UIViewContentModeScaleAspectFill

Met le contenu à l'échelle pour qu'il remplisse la taille de la vue. Une partie du contenu peut être tronquée pour remplir les limites de la vue.

EmptyStack
la source
Quel est un exemple de cas de transparence ou d'écrêtage? J'imagine un rectangle et il semble que cette clause ne serait jamais invoquée.
Praxiteles
Praxitèle, je ne comprends pas bien votre question. Mais à partir du contexte de ma réponse ci-dessus, l'écrêtage se produira probablement dans UIViewContentModeScaleToFill & UIViewContentModeScaleAspectFill, si le rapport d'image ne correspond pas au rapport d'imageView. Veuillez me corriger si je me suis trompé sur votre question. Merci.
EmptyStack
537

Vous pouvez voir les différences entre les modes de contenu ici:

entrez la description de l'image ici

Le mode Redraw fonctionne comme le mode Scale to Fill. Mais il y a une différence dans la façon dont ils sont dessinés lorsque la géométrie de la vue change. Le mode Scale to Fill utilise le contenu déjà rendu tandis que le mode Redraw restitue le contenu.

Erkanyildiz
la source