Apprentissage de SwiftUI

Moi non plus, mais j’ai l’impression que la dépréciation est déjà d’actualité. C’est la nécessité de mettre explicitement le fond en noir qui m’a mis la puce à l’oreille. J’ai trouvé ça redondant.

J’ai ajouté .scaledToFit() aux noms des utilisateurs. Ce n’est pas parfait, mais c’est mieux qu’avant. Je n’arrive cependant pas à avoir exactement le même espacement entre chaque élément.

Bien joué, je n’avais pas compris que .strokeBorder() conserve le contour d’un pixel extérieur de l’image. Le problème avec .stroke() est que j’avais du mal ensuite à aligner avec la première image qui elle n’en comporte pas.

En cherchant, j’avais trouvé une explication assez visuelle. Il faut imaginer un cercle tracé sur une feuille, et on a un gros feutre en main. Avec .strokeBorder(), c’est comme si ton traçait le contour du cercle à l’intérieur de ce dernier, sans recouvrir son trait. Alors qu’avec .stroke(), le milieu du feutre suit le trait du cercle : la moitié déborde à l’intérieur, l’autre à l’extérieur.

La solution avec plusieurs ZStack imbriqués me parait plus « propre », mais je me trompe peut-être :slight_smile: L’avantage est aussi qu’on ne cache pas une partie de l’image.

Oui, ta seconde solution est meilleure. Si j’ai réfléchi au problème, c’est pour comprendre d’où venait l’effet d’aura. Cela m’intriguais vraiment.

1 « J'aime »

@MonsieurSaucisse Essaye comme ça :

Text(profile.name)
                .font(.footnote).lineLimit(1)
                .frame(width: 65, alignment: .center)
1 « J'aime »

J’y avais pensé, sans essayer :sweat_smile: Je m’attendais plus à appliquer un modificateur sur le parent.

J’ai un peu avancé, en ajoutant un splash screen qui disparait après une seconde. Les logos sont faits en SwiftUI, il n’y a pas d’image (le code source pour ceux que ça intéresse).

1 « J'aime »

Il faut toujours essayer ! :wink:

1 « J'aime »

Je pense que tu devrais essayer de regarder du côté des modifiers afin d’organiser encore ton code, et de remplacer plusieurs modifiers par un de ta composition, et ce qui en rendrait la maintenance plus facile, car lorsqu’un d’entre eux changerait de syntaxe, par exemple, tu n’auras pas à courir dans tout ton code à la recherche de toutes ses occurrences, tu n’auras qu’à passer en revue les quelques custom modifiers que tu auras écrits, et qui seront ainsi réutilisables dans toutes tes applis.