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)
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)
Étant donné que nous ne devrions pas fixer la taille de l'image de manière statique, voici une meilleure façon de fournir une gamme d'ajustement en fonction de la résolution de l'écran sur différents appareils.
Image("Nom de l'image ici")
.resizable()
.frame(minWidth: 60.0, idealWidth: 75.0, maxWidth: 95.0, minHeight: 80.0, idealHeight: 95.0, maxHeight: 110.0, alignment: .center)
.scaledToFit()
.clipShape(Capsule())
.shadow(color: Color.black.opacity(5.0), radius: 5, x: 5, y: 5)
Par défaut, les vues d'image se dimensionnent automatiquement en fonction de leur contenu, ce qui peut les faire dépasser de l'écran. Si vous ajoutez le modificateur resizable(), l'image sera au lieu de cela automatiquement dimensionnée pour remplir tout l'espace disponible :
Image("example-image")
.resizable()
Cependant, cela peut également entraîner une distorsion du rapport hauteur/largeur de l'image d'origine, car elle sera étirée dans toutes les dimensions de la quantité nécessaire pour remplir l'espace.
Si vous souhaitez conserver son rapport hauteur/largeur, vous devez ajouter un modificateur aspectRatio en utilisant soit .fill soit .fit, comme ceci :
Image("example-image")
.resizable()
.aspectRatio(contentMode: .fit)
Remarque : Mon nom d'image est
img_Logo
et vous pouvez changer le nom de l'image définir les propriétés de l'image comme ceci :
VStack(alignment: .leading, spacing: 1) {
//Image Logo Start
Image("img_Logo")
.resizable()
.padding(.all, 10.0)
.frame(width: UIScreen.main.bounds.width * 0.4, height: UIScreen.main.bounds.height * 0.2)
//Image Logo Done
}
Je vous recommande vivement d'écrire un texte bref avec votre code, une sorte d'explication. Veuillez consulter le code de conduite ici : stackoverflow.com/conduct
Si vous voulez redimensionner l'image en swiftUI, utilisez simplement le code suivant :
import SwiftUI
struct ImageViewer : View{
var body : some View {
Image("Ssss")
.resizable()
.frame(width:50,height:50)
}
}
Mais voici un problème avec cela. Si vous ajoutez cette Image à l'intérieur d'un bouton, l'image ne sera pas affichée, seulement un bloc de couleur bleue sera là. Pour résoudre ce problème, faites ceci :
import SwiftUI
struct ImageViewer : View{
var body : some View {
Button(action:{}){
Image("Ssss")
.renderingMode(.original)
.resizable()
.frame(width:50,height:50)
}
}
}
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.