zum*_*zum 5 swiftui geometryreader zstack
我有以下观点:
struct TestView: View {
var body: some View {
GeometryReader { geo in
ZStack(alignment: Alignment(horizontal: .center, vertical: .center)) {
Text("TEST TEXT")
}.background(Color.red)
}
}
}
Run Code Online (Sandbox Code Playgroud)
呈现这个:
我希望 ZStack 中的视图居中,并且只有在删除 时才有效GeometryReader,如下所示:
struct TestView: View {
var body: some View {
ZStack(alignment: Alignment(horizontal: .center, vertical: .center)) {
Text("TEST TEXT")
}.background(Color.red)
}
}
Run Code Online (Sandbox Code Playgroud)
呈现这个:
如何使用GeometryReaderZStack 并仍然使内容居中,如上面最后一个渲染图片所示?为什么 GeometryReader 会扰乱 ZStack 内容对齐?
ahe*_*eze 12
GeometryReader 的对齐方式不断变化 - 请参阅GeometryReader 与先前操作系统版本的差异。为了获得正常的行为,我通常只添加.frame(maxWidth: .infinity, maxHeight: .infinity).
struct TestView: View {
var body: some View {
GeometryReader { geo in
ZStack { /// no need for the custom Alignment
Text("TEST TEXT")
}
.background(Color.red)
.frame(maxWidth: .infinity, maxHeight: .infinity) /// here!
}
}
}
Run Code Online (Sandbox Code Playgroud)
结果:
| 归档时间: |
|
| 查看次数: |
1319 次 |
| 最近记录: |