SwiftUI:将背景颜色应用于圆角矩形

Posted

技术标签:

【中文标题】SwiftUI:将背景颜色应用于圆角矩形【英文标题】:SwiftUI: apply background color to rounded rectangle 【发布时间】:2020-12-08 15:41:32 【问题描述】:

我想创建一个带有圆角矩形视图的按钮,带有边框和背景颜色。

到目前为止我写了这个:

Button(action: 
, label: 
    Text("TAP ME")
        .foregroundColor(Color.blue)
)
.frame(height: 50)
.frame(maxWidth: .infinity)
.overlay(
    RoundedRectangle(cornerRadius: 50, style: .continuous)
        .strokeBorder(Color.blue, lineWidth: 1)                
)

我尝试在许多不同的地方添加.background(Color.red),但这是我每次都得到的:

在这里做什么?

感谢您的帮助

【问题讨论】:

【参考方案1】:

据我了解您的需求,这里有一个解决方案

Button(action: 
, label: 
    Text("TAP ME")
        .foregroundColor(Color.blue)
)
.frame(height: 50)
.frame(maxWidth: .infinity)
.background(
    RoundedRectangle(cornerRadius: 50, style: .continuous).fill(Color.red)
)
.overlay(
    RoundedRectangle(cornerRadius: 50, style: .continuous)
        .strokeBorder(Color.blue, lineWidth: 1)
)

【讨论】:

完美,谢谢!我仍然不习惯将颜色以外的其他东西设置为背景...

以上是关于SwiftUI:将背景颜色应用于圆角矩形的主要内容,如果未能解决你的问题,请参考以下文章

Android自定义圆角矩形ImageView,支持Glide加载图片及颜色填充

模糊的圆角矩形 UIBezierPath,UIButton 背景

如何使用 SwiftUI 在 macOS 上可靠地检索窗口的背景颜色?

圆角矩形精度条

在 SwiftUI 中更改 UIView 背景颜色

Swiftui 将列表叠加到背景颜色