问题描述
避免硬编码 .frame 的最佳方法是什么
.frame(width: 200,height: 200)
并使视图动态化并响应所有屏幕尺寸。我的问题是针对 iOS 设备的。
我相信你们不需要任何代码来回答这个问题,只是为了让事情清楚,这是一个例子。我想让这个 Rectangle()
动态适应所有屏幕尺寸。
import SwiftUI
struct VideoPlayerView: View {
var body: some View {
Rectangle()
}
}
struct VideoPlayerView_Previews: PreviewProvider {
static var previews: some View {
VideoPlayerView()
}
}
解决方法
您可以使用 GeometryReader
来获取视图尺寸。下面是一个例子:
struct VideoPlayerView: View {
var body: some View {
GeometryReader { g in
Rectangle()
.frame(width: g.size.width / 2,height: g.size. height / 2)
}
}
}