删除SwiftUI(WatchKit)中的圆形按钮背景

问题描述 投票:0回答:1

我正在努力删除SwiftUI中自定义圆形Button元素的背景,其定义如下:

struct NavButton: View {
    var body: some View {
        Button(action: {})
            VStack {
                Text("Button")
            }
            .padding(40)
            .background(Color.red)
            .font(.title)
            .mask(Circle())
        }
    }
}

这会导致按钮周围有一个矩形的浅灰色背景,我希望它不会在这里显示:

enter image description here

我试图在按钮上附加一个“ background”修饰符,它表现出非常奇怪的行为:如果将其设置为“ Color.clear”,则没有任何效果。但是,如果我将其设置为“ Color.green”,它的确会按预期更改背景。

将“背景”修改器设置为“彩色。绿色”的示例:

struct NavButton: View {
        var body: some View {
            Button(action: {})
                VStack {
                    Text("Button")
                }
                .padding(40)
                .background(Color.red)
                .font(.title)
                .mask(Circle())
            }
            .background(Color.green) // has no effect if set to "Color.clear"
        }
    }

enter image description here

我想知道我是否在这里缺少什么吗?

ios swift watchkit swiftui
1个回答
0
投票
尝试一下btn.setBackgroundImage(nil, forState: .Normal)
© www.soinside.com 2019 - 2024. All rights reserved.