我有一个适合在电视或笔记本电脑上观看的视频(即横向为主)。我需要使这个视频在垂直方向上填满iPhone屏幕,而不会拉伸视频而失去比例。因此,视频的左侧和右侧将在屏幕的左侧和右侧溢出。
CodingWithChris在故事板形式下完美地做到了这一点:https://www.youtube.com/watch?v=1HN7usMROt8 (跳转至1:35:00) 我需要知道如何通过SwiftUI编程实现这一点。
目前,我有一个在模拟器中播放的视频。以下是我的代码:
struct SignInView: View {
private let player = AVPlayer(url: URL(fileURLWithPath: Bundle.main.path(forResource: "DL_preview", ofType: "mp4")!))
var body: some View {
ZStack {
VideoPlayer(player: player)
.onAppear() {
player.isMuted = true
player.play()
}
VStack {
这是一个与宽高比相关的视频截图。想象一下,一个竖直放置的iPhone(纵向)位于截图的中心。我希望整个屏幕都能填满这个框架,只显示这部分画面。
![视频截图](https://istack.dev59.com/4QPmf.webp)
GeometryReader
可能是最棘手的部分——知道可以使用它来测量大小非常重要。frame
和position
修饰符相当简单。 - jnpdx