J'utilise le code du didacticiel Apple SwiftUI. Ensuite, j'ai défini le PreviewDevice sur iPad Pro (12,9 pouces). Mais l'aperçu a quelque chose qui ne va pas. Est-ce que quelqu'un sait où est le problème ?
Vous pouvez remplacer le splitView par défaut utilisé sur iPad, en faisant en sorte que NavigationView affiche la même vue empilée que vous voyez sur iPhone, en définissant
.navigationViewStyle(StackNavigationViewStyle())
Assez utile pendant le développement et le débogage, et lorsque vous n'avez pas encore développé le detailView().
Il semble que la vue principale (celle de gauche) soit masquée sur les iPad sous iOS 13 par conception. La vue principale est là, vous pouvez la retirer du bord gauche de l'écran.
Malheureusement, il n'y a actuellement aucune API pour désactiver ce comportement autre que l'application d'un remplissage différent de zéro pour le bord leading
var body: some View {
GeometryReader { geometry in
NavigationView {
self.content
}.padding(.leading, self.leadingPadding(geometry))
}
}
private func leadingPadding(_ geometry: GeometryProxy) -> CGFloat {
if UIDevice.current.userInterfaceIdiom == .pad {
// A hack for correct display of the SplitView in SwiftUI on iPad
return geometry.size.width < geometry.size.height ? 0.5 : -0.5
}
return 0
}
Vous avez intégré votre corps dans NavigationView. Sur iPad, vous devez faire glisser le tiroir du côté gauche pour afficher votre contenu.
Supprimer NavigationView et observer le comportement
Pour remplacer le comportement par défaut, utilisez le code ci-dessous
NavigationView {
...
}
.navigationViewStyle(DoubleColumnNavigationViewStyle())
.padding()
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.