首页 > 解决方案 > 斯威夫特用户界面。如何在 ZStack 顶部放置视图?

问题描述

我已经尝试过这段代码并将嵌套视图的对齐方式设置为 .top。但它仍然是居中的。

struct ContentView: View {
    var body: some View {
        ZStack {
            Rectangle().fill(Color.red).frame(maxWidth: .infinity, maxHeight: 100, alignment: .top)
        }
    }
}

在此处输入图像描述

标签: iosswiftswiftui

解决方案


您不需要为此工作使用矩形,而是使用颜色,它使您的视图在渲染中更便宜/更快,并且比使用矩形然后尝试用颜色填充它的 CPU 更少。


struct ContentView: View {
    var body: some View {
        ZStack {
            
            Color.yellow
            
            VStack {
                
                Color.red.frame(height: 100)
                
                Spacer()
                
                Color.blue.frame(height: 100)
                
            }
            
        }
    }
}

在此处输入图像描述


推荐阅读