SwiftUI 是苹果推出的一个声明式 UI 框架,用于构建 macOS、iOS、watchOS 和 tvOS 应用程序。离屏视图(Offscreen View)是指在屏幕上不可见的视图,通常用于预渲染或后台处理。
SwiftUI 中的离屏视图主要通过 GeometryReader
和 ViewBuilder
来实现。常见的类型包括:
在 SwiftUI 中,可以使用 GeometryReader
和 alignmentGuide
来实现离屏视图的居中。
import SwiftUI
struct CenteredOffscreenView: View {
var body: some View {
GeometryReader { geometry in
ZStack {
// 离屏视图
Color.green
.frame(width: 100, height: 100)
.background(Color.blue)
.alignmentGuide(.center) { d in
-d[.leading] + geometry.size.width / 2
}
.alignmentGuide(.center) { d in
-d[.top] + geometry.size.height / 2
}
// 主视图
Text("Main View")
.foregroundColor(.white)
.font(.largeTitle)
}
}
}
}
struct ContentView: View {
var body: some View {
CenteredOffscreenView()
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
SwiftUI GeometryReader SwiftUI Alignment Guide
通过上述方法,可以实现离屏 SwiftUI 视图的居中显示。
领取专属 10元无门槛券
手把手带您无忧上云