在SwiftUI中,颜色填充不会跟随圆角

移动开发 2026-07-12

我定义了如下形状:

struct DisplayView: View {
   var body: some View {
      ZStack{
         RoundedRectangle(cornerRadius: 20)
            .stroke(Color.black, lineWidth: 1)
         VStack{
            ScrollView {
               VStack (spacing: 10) {
                  ForEach (0..<30) {
                     Text("Item \($0)")
                        .font(.title)
                  }
               } .frame(maxWidth: .infinity)
            }.padding()

            Button {
               print("Display list!")
            } label: {
               Text("OK")
                  .frame(maxWidth: .infinity)
                  .padding()
                  .background(Color(.lightGray))
                  .cornerRadius(20)
                  .padding(12)
                  .foregroundColor(.black)
                  .font(.title)
            }
         }
      }
   }
}

……但在ContentView中使用时,得到如下结果:可以看到圆角处的灰色背景:

在此输入图片描述

我的问题:如何让颜色填充在圆角处停止?

解决方案

我找到了:

我只需要添加

.cornerRadius(20)
         DisplayView()
            .frame(width: 500, height: 400)
            .background(Color(#colorLiteral(red: 0.8998004794, green: 0.8998004794, blue: 0.8998004794, alpha: 1)))
            .cornerRadius(20)
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章