SwiftUI 中按钮和图像的可点击区域

时间:2021-03-22 21:31:08

标签: swift swiftui


    Button(action: {
       print("Round Action")
       }) {
       Text("Press")
       .frame(width: 50, height: 50)
       .foregroundColor(Color.black)
       .background(Color.red)
       .clipShape(Circle())
       }
       .background(Color.blue)

我希望实际的按钮是可点击的,而不是它周围的蓝色方形框架,还有什么办法可以去掉那个框架,但仍然可以调整按钮的大小?

Button Image

1 个答案:

答案 0 :(得分:1)

您需要为您的 Button 设置 .contentShape,默认情况下它是一个 Rectangle

Button(action: {
    print("Round Action")
}) {
    Text("Press")
        .frame(width: 150, height: 150)
        .foregroundColor(Color.black)
        .background(Color.red)
        .clipShape(Circle())
}
.contentShape(Circle()) // <- here
.background(Color.blue)

<块引用>

有什么办法可以去掉那个框架,但仍然可以调整按钮的大小?

您可以尝试使用 paddingscaleEffect,但 frame 是更改视图宽度和高度的推荐方式。