SwiftUI 小部件按钮意图具有默认背景,如何删除它

swiftui widget button intent has a default background, how to remove it

提问人:per ro 提问时间:11/8/2023 最后编辑:Mojtaba Hosseiniper ro 更新时间:11/9/2023 访问量:33

问:

我正在为 iOS17 应用程序构建一个小部件,下面是小部件的按钮代码

var body: some View {

    if #available(iOS 17.0, *) {
        Button(intent: TodoCheckInIntent(todoId: todo.id)) {
            Text("hello")
        }
        .frame(width: 65, height: 21)
    } else {
        todoSubView
    }
}

在ios17上运行后,是这样的。该按钮具有有线蓝色背景。 我的问题是如何删除有线蓝色背景。

Demo

感谢您的任何回答

我使用了按钮,但没有任何效果.padding(0)

iOS Swift SwiftUI 小部件 iOS17

评论

0赞 Timmy 11/8/2023
您是否尝试过将按钮样式设置为普通样式?

答:

1赞 Mojtaba Hosseini 11/9/2023 #1

这是因为默认的按钮样式。您应该在按钮上使用:.buttonStyle(.plain)

Button(intent: TodoCheckInIntent(todoId: todo.id)) {
    Text("hello")
}
.frame(width: 65, height: 21)
.buttonStyle(.plain) // 👈 Here

评论

1赞 per ro 11/9/2023
它有效,非常感谢!