Recientemente, Apple lanzó Vision Pro y tuve la suerte de convertirme en un orgulloso propietario. Desde entonces, he estado profundamente involucrado en el desarrollo de mi aplicación y en la exploración de varias aplicaciones y tendencias dentro de Vision Pro App Store.
Estoy seguro de que has notado que al ver un video o una foto, el fondo detrás de la ventana se oscurece, en la configuración se llama "atenuación automática". Para obtener el mismo efecto, necesita usar .preferredSurroundingsEffect(.systemDark)
en su vista y luego el espacio alrededor del usuario se oscurecerá y su ventana permanecerá brillante, esto ayudará a mantener el enfoque en el contenido.
Al visualizar un vídeo o contenido se desea que el usuario no tenga distracciones y cree el efecto de una ventana flotando en el aire, para ello Apple nos ha dado la posibilidad de ocultar la barra inferior de la ventana que sirve para moverla o cerrarla. la ventana actual. Con .persistentSystemOverlays(.hidden)
puedes ocultar esta barra de control en tu ventana, desaparecerá con la animación predeterminada y solo aparecerá cuando el usuario interactúe con la ventana.
Si abres la aplicación estándar de Apple TV y enciendes una película, notarás que la ventana de la película tiene un reflejo que cambia con cada cuadro, brindando un efecto más inmersivo. Para obtener un efecto de brillo alrededor de su video, debe usar VideoPlayerComponent
y habilitar isPassthroughTintingEnabled
, luego el efecto será el mismo que en Apple TV o HBO Max. Esto es lo que dice la documentación:
Esto es para habilitar el teñido de paso durante la reproducción de video que aparece alrededor del video tomando el color promedio del cuadro y teñiendo el paso con ese color para enfatizar el video.
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 su aplicación utiliza un espacio inmersivo y no desea que el usuario vea sus manos, o desea reemplazarlas con manos virtuales, como se hace en AmazeVR, entonces necesita usar .upperLimbVisibility(.hidden)
Estoy seguro de que has visto barras laterales en aplicaciones de VisionOS que se parecen TabBars
. Apple ha introducido un nuevo método View
para VisionOS que le permite "expandir" la ventana y agregar adornos a ambos lados de la misma.
.ornament( visibility: .visible, attachmentAnchor: .scene(.bottom), contentAlignment: .center ) { HStack { Button("Play", systemImage: "play.fill") { } Button("Stop", systemImage: "stop.fill") { } } .labelStyle(.iconOnly) .padding(.all) .glassBackgroundEffect() }