Gần đây, Apple đã phát hành Vision Pro và tôi thật may mắn khi trở thành chủ sở hữu đầy tự hào của nó. Kể từ đó, tôi đã tham gia sâu vào việc phát triển ứng dụng của mình và khám phá nhiều ứng dụng cũng như xu hướng khác nhau trong Vision Pro App Store.
Tôi chắc rằng bạn đã nhận thấy rằng khi xem video hoặc ảnh, nền phía sau cửa sổ bị tối đi, trong cài đặt nó được gọi là "tự động làm mờ". Để có được hiệu ứng tương tự, bạn cần sử dụng .preferredSurroundingsEffect(.systemDark)
trên chế độ xem của mình, sau đó không gian xung quanh người dùng sẽ tối đi và cửa sổ của bạn vẫn sáng, điều này sẽ giúp tập trung vào nội dung.
Khi xem video hoặc nội dung, bạn muốn người dùng không bị phân tâm và tạo hiệu ứng cửa sổ lơ lửng trong không trung, vì điều này Apple đã cung cấp cho chúng ta khả năng ẩn thanh dưới cùng của cửa sổ dùng để di chuyển hoặc đóng cửa sổ hiện tại. Với .persistentSystemOverlays(.hidden)
bạn có thể ẩn thanh điều khiển này trên cửa sổ của mình, nó sẽ biến mất cùng với hoạt ảnh mặc định và chỉ xuất hiện khi người dùng tương tác với cửa sổ.
Nếu mở ứng dụng Apple TV tiêu chuẩn và bật phim, bạn sẽ nhận thấy cửa sổ phim có hình ảnh phản chiếu thay đổi theo từng khung hình, mang lại hiệu ứng sống động hơn. Để có được hiệu ứng phát sáng xung quanh video của mình, bạn cần sử dụng VideoPlayerComponent
và bật isPassthroughTintingEnabled
, khi đó hiệu ứng sẽ giống như trong Apple TV hoặc HBO Max. Đây là những gì tài liệu nói:
Điều này nhằm cho phép pha màu chuyển tiếp trong khi phát lại video hiển thị xung quanh video, lấy màu trung bình của khung hình và pha màu chuyển tiếp bằng màu đó để nhấn mạnh 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:))
Nếu ứng dụng của bạn sử dụng không gian sống động và bạn không muốn người dùng nhìn thấy bàn tay của họ hoặc bạn muốn thay thế chúng bằng bàn tay ảo, như được thực hiện trong AmazeVR, thì bạn cần sử dụng .upperLimbVisibility(.hidden)
Tôi chắc rằng bạn đã từng thấy các thanh bên trong ứng dụng VisionOS trông giống như TabBars
. Apple đã giới thiệu phương pháp View
mới cho VisionOS cho phép bạn "mở rộng" cửa sổ và thêm đồ trang trí ở hai bên của nó.
.ornament( visibility: .visible, attachmentAnchor: .scene(.bottom), contentAlignment: .center ) { HStack { Button("Play", systemImage: "play.fill") { } Button("Stop", systemImage: "stop.fill") { } } .labelStyle(.iconOnly) .padding(.all) .glassBackgroundEffect() }