SwiftUI:如何增加可以触发按钮的区域?

时间:2019-11-02 22:14:50

标签: ios swift swiftui

如何在不更改UI的情况下增加可以触发按钮的区域?

这是我的代码

struct ContentView: View {
    var body: some View {
        NavigationView {
            Text("Text")

            .navigationBarTitle(Text("Title"))
            .navigationBarItems(
                leading:
                Button(action: { print("add") }) {
                    Image(systemName: SFSymbolName.plus)
                        .font(.system(size: 18))
                }
            )
        }
    }
}

2 个答案:

答案 0 :(得分:3)

对于这种特殊情况,您可以向除前沿以外的所有边缘添加填充:

Button(action: { print("add") }) {
    ,,,
}
.padding(EdgeInsets(top: 50, leading: 0, bottom: 50, trailing: 50))
.background(Color.red) // This is just for seeing the hit area. You should get rid of it

Preview

答案 1 :(得分:0)

Button与其内容一样大。在您的情况下,它和图像一样大。您的按钮或可点击区域很小,因为图像很小。

您可以将图像包含在较大的frame中,如下所示:

Button(action: { print("add") }) {
    Image(systemName: SFSymbolName.plus)
        .font(.system(size: 18))
        .frame(width: 40, height: 40)
}