难以点击 SwiftUI 导航栏项目中的按钮

Kri*_*lén 9 ios swift swiftui

我有一个NavigationView带有Button导航栏项的 SwiftUI 。似乎只有当用户点击那个小Image. 我可以在不影响导航栏高度的情况下将可点击区域放大吗?

我尝试添加.frameImage,但这使导航栏太大。

import SwiftUI

struct ContentView: View {
    var body: some View {
        NavigationView {
            Text("Foo")
                .navigationBarTitle(Text("Title"), displayMode: .inline)
                .navigationBarItems(leading:
                    HStack {
                        Button(action: {
                            print("tapped")
                        }) {
                            Image(systemName: "info.circle")
                        }
                    })
            }
    }
}
Run Code Online (Sandbox Code Playgroud)

cbj*_*rup 9

(其中一个)以下修饰符可以提供帮助:

.imageScale(.large)
Run Code Online (Sandbox Code Playgroud)

来自 SFSymbols 的图像具有三种尺寸:

  • .small 使用内嵌文本时
  • .medium 用作图标
  • .large 用作导航栏或底部栏中的按钮

.padding()
Run Code Online (Sandbox Code Playgroud)

在图像周围添加填充。填充也应该是可点击的。

  • @LorisFoe 我明白你的意思。您可以考虑以下几件事: 1. 也许*仅* `.imageScale(.large)` 并保留填充就已经足够了。2. 您可以仅在*指定的边缘*添加填充(例如:`.padding([.top, .leading, .bottom])`。3. 您可以设置*指定数量*的填充并使用偏移量,例如所以:`.padding(8.0).offset(x: 8.0)`。您还可以查看[此页面](https://www.hackingwithswift.com/quick-start/swiftui/how-to-control-spacing -around-individual-views-using-padding)了解更多示例。希望这会有所帮助! (2认同)