275 votes

Comment redimensionner une image avec SwiftUI?

J'ai une grande image dans Assets.xcassets. Comment redimensionner cette image avec SwiftUI pour la rendre petite ?

J'ai essayé de définir le cadre mais cela ne fonctionne pas :

Image(room.thumbnailImage)
    .frame(width: 32.0, height: 32.0)

3voto

Shawkath Srijon Points 275

Il est très important de comprendre la structure logique du code. Comme dans SwiftUI, une image n'est pas redimensionnable par défaut. Ainsi, pour redimensionner une image, vous devez la rendre redimensionnable en appliquant le modificateur .resizable() immédiatement après avoir déclaré une vue d'image.

Image("Nom du fichier image")
    .resizable()

3voto

Ahmed Rajib Points 9

Pour faire en sorte qu'une image s'adapte à la vue actuelle, nous utilisons le modificateur resizable(), qui redimensionne une image pour s'adapter à l'espace disponible.

Par exemple :

 Image("NomImage")
            .resizable()
            .aspectRatio(contentMode: .fit)
            .frame(width: 200, height: 200, alignment: .center)

1 votes

Cela a déjà été expliqué dans d'autres réponses, rien de nouveau ici.

2voto

Komal Gupta Points 99

Vous pouvez définir les propriétés de l'image comme suit :-

   Image("\(Nom de l'image)")
   .resizable() // Vous permet de redimensionner les images
   .frame(width: 20, height: 20) // définir la taille du cadre comme requis
   .background(RoundedRectangle(cornerRadius: 12) // Définir les coins arrondis
   .foregroundColor(Color("darkGreen"))      // définir la couleur du premier plan

2voto

Al Mustakim Points 103

Utilisez la méthode .resizable() après le nom de l'image. Assurez-vous que l'utilisation de .resizable() doit être déclarée avant toute modification.

comme ceci:

Image("Nom du fichier image")
    .resizable()
//ajoutez d'autres modifications ici

2voto

jonny Points 21

Il est suggéré d'utiliser le code suivant pour correspondre à plusieurs tailles d'écran :

Image("dog")
    .resizable()
    .frame(minWidth: 200, idealWidth: 400, maxWidth: 600, minHeight: 100, idealHeight: 200, maxHeight: 300, alignment: .center)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X