Recentemente, a Apple lançou o Vision Pro e tive a sorte de me tornar um orgulhoso proprietário. Desde então, tenho estado profundamente envolvido no desenvolvimento de meu aplicativo e na exploração de vários aplicativos e tendências na Vision Pro App Store.
Tenho certeza que você notou que ao visualizar um vídeo ou foto, o fundo atrás da janela fica escurecido, nas configurações isso é chamado de “escurecimento automático”. Para obter o mesmo efeito você precisa usar .preferredSurroundingsEffect(.systemDark)
na sua visualização e então o espaço ao redor do usuário escurecerá e sua janela permanecerá clara, isso ajudará a manter o foco no conteúdo.
Ao visualizar um vídeo ou conteúdo, você deseja que o usuário não tenha distrações e crie o efeito de uma janela flutuando no ar, para isso a Apple nos deu a capacidade de ocultar a barra inferior da janela que serve para mover ou fechar a janela atual. Com .persistentSystemOverlays(.hidden)
você pode ocultar esta barra de controle na sua janela, ela desaparecerá com a animação padrão e só aparecerá quando o usuário interagir com a janela.
Se você abrir o aplicativo padrão da Apple TV e ligar um filme, notará que a janela do filme tem um reflexo que muda a cada quadro, dando um efeito mais envolvente. Para obter um efeito de brilho ao redor do seu vídeo, você precisa usar VideoPlayerComponent
e habilitar isPassthroughTintingEnabled
, então o efeito será o mesmo do Apple TV ou HBO Max. Aqui está o que diz a documentação:
Isso permite a coloração de passagem durante a reprodução do vídeo, que aparece ao redor do vídeo, pegando a cor média do quadro e tingindo a passagem com essa cor para enfatizar o vídeo.
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:))
Se seu aplicativo usa espaço imersivo e você não deseja que o usuário veja suas mãos, ou deseja substituí-las por mãos virtuais, como é feito no AmazeVR, então você precisa usar .upperLimbVisibility(.hidden)
Tenho certeza que você já viu barras laterais em aplicativos VisionOS que se parecem com TabBars
. A Apple introduziu um novo método View
para VisionOS que permite “expandir” a janela e adicionar ornamentos em ambos os lados dela.
.ornament( visibility: .visible, attachmentAnchor: .scene(.bottom), contentAlignment: .center ) { HStack { Button("Play", systemImage: "play.fill") { } Button("Stop", systemImage: "stop.fill") { } } .labelStyle(.iconOnly) .padding(.all) .glassBackgroundEffect() }