Récemment, Apple a lancé le Vision Pro et j'ai eu la chance d'en devenir l'heureux propriétaire. Depuis lors, j'ai été profondément engagé dans le développement de mon application et dans l'exploration de diverses applications et tendances au sein de l'App Store Vision Pro.
Je suis sûr que vous avez remarqué que lors du visionnage d'une vidéo ou d'une photo, l'arrière-plan derrière la fenêtre est assombri, dans les paramètres, cela s'appelle "auto-gradation". Pour obtenir le même effet, vous devez utiliser .preferredSurroundingsEffect(.systemDark)
sur votre vue, puis l'espace autour de l'utilisateur s'assombrira et votre fenêtre restera lumineuse, cela aidera à rester concentré sur le contenu.
Lors de la visualisation d'une vidéo ou d'un contenu, vous souhaitez que l'utilisateur ne soit pas distrait et crée l'effet d'une fenêtre flottant dans les airs, pour cela Apple nous a donné la possibilité de masquer la barre inférieure de la fenêtre utilisée pour se déplacer ou se fermer. la fenêtre actuelle. Avec .persistentSystemOverlays(.hidden)
vous pouvez masquer cette barre de contrôle sur votre fenêtre, elle disparaîtra avec l'animation par défaut et n'apparaîtra que lorsque l'utilisateur interagit avec la fenêtre.
Si vous ouvrez l'application Apple TV standard et allumez un film, vous remarquerez que la fenêtre du film a un reflet qui change à chaque image, donnant un effet plus immersif. Pour obtenir un effet lumineux autour de votre vidéo, vous devez utiliser VideoPlayerComponent
et activer isPassthroughTintingEnabled
, l'effet sera alors le même que dans Apple TV ou HBO Max. Voici ce que dit la documentation :
Il s'agit d'activer la teinte pass-through pendant la lecture vidéo qui apparaît autour de la vidéo en prenant la couleur moyenne de l'image et en teintant le pass-through avec cette couleur pour mettre en valeur la vidéo.
onAppear { guard let windowScene = UIApplication.shared.connectedScenes.first as?UIWindowScene else { return } windowScene.requestGeometryUpdate(.Vision(resizingRestrictions: UIWindowScene.ResizingRestrictions.none)) }
windowScene.requestGeometryUpdate(.Vision(size:, minimumSize:, maximumSize:, resizingRestrictions:))
Si votre application utilise un espace immersif et que vous ne voulez pas que l'utilisateur voie ses mains, ou que vous souhaitez les remplacer par des mains virtuelles, comme cela se fait dans AmazeVR, alors vous devez utiliser .upperLimbVisibility(.hidden)
Je suis sûr que vous avez vu des barres latérales dans les applications VisionOS qui ressemblent à TabBars
. Apple a introduit une nouvelle méthode View
pour VisionOS qui vous permet « d'agrandir » la fenêtre et d'ajouter des ornements de chaque côté de celle-ci.
.ornament( visibility: .visible, attachmentAnchor: .scene(.bottom), contentAlignment: .center ) { HStack { Button("Play", systemImage: "play.fill") { } Button("Stop", systemImage: "stop.fill") { } } .labelStyle(.iconOnly) .padding(.all) .glassBackgroundEffect() }