Avec Xcode 12, vous pouvez utiliser les capacités de Canvas pour voir à quoi ressemble l'écran de votre appareil en temps réel lorsque vous codez.
Dans cet article, je vais vous donner quelques conseils sur la façon d'utiliser encore mieux le canevas utile. S'il y a de bons conseils, je les ajouterai au besoin.
Si vous avez créé une instance de cette classe dans une vue avec l'encapsuleur de propriété @EnvironmentObject pour toujours faire référence à la valeur de la propriété avec @Published dans la classe ObservableObject à partir d'autres vues, l'aperçu de cette vue est le suivant: Vous devez ajouter le modificateur .environmentObject (ClassName ()) à l'instance View comme dans. Si ce n'est pas joint, cliquer sur le bouton Reprendre ne sera pas affiché sur le canevas et une erreur se produira.
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
.environmentObject(Manager())
}
}
Pour les structures qui ont des propriétés avec le wrapper de propriété @Binding, la propriété est spécifiée uniquement pour le type de données et aucune valeur n'est attribuée. Par exemple:
@Binding var name: String
Lorsque vous souhaitez afficher un aperçu d'une structure avec de telles propriétés sur Canvas, une erreur se produit même si vous entrez un argument approprié au moment de l'initialisation. Dans un tel cas, si vous spécifiez .constant () comme argument, il s'affichera correctement comme indiqué ci-dessous. Il s'agit de toute liaison dans la vue que vous pouvez utiliser si vous souhaitez y mettre une valeur. Le code d'aperçu ressemble à ceci:
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView(name: .constant("Masanao Sako"))
}
}
Voir aussi Hacking with Swift de Paul Hudson. https://www.hackingwithswift.com/quick-start/swiftui/how-to-create-constant-bindings
Si vous créez une vue (partie d'écran) pour un composant à placer dans la vue principale et que vous souhaitez afficher uniquement cette vue de composant en taille juste plutôt que d'afficher la vue du composant seule sur un canevas de la taille d'un écran de périphérique. Est juste la taille de la vue avec le modificateur .previewLayout (.sizeThatFits) comme indiqué ci-dessous.
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
.environmentObject(Manager())
.previewLayout(.sizeThatFits)
}
}
Recommended Posts