SwiftUI 按钮点击区域不准确但在 navigationBarItems 中是正确的

问题描述

这里在 navigationbaritem 和 ContentView 中使用相同的按钮视图。 有解决这个问题的想法吗? https://imgur.com/a/jCxfVSa

struct myButton: View {
    var body: some View {
        Button(action: {  print("qwe\(Int.random(in: 1...100))") }) {
            Image( "play")
                .resizable()
                .scaledToFit()
                .background(Color.red)
        }
        .frame(width: 40,height: 40,alignment: /*@START_MENU_TOKEN@*/.center/*@END_MENU_TOKEN@*/)
    }
}


struct ContentView: View {
    var body: some View {
        NavigationView {

            myButton()
                
          .navigationBarItems(leading:

            myButton()
          )
                .navigationTitle("Title")
                .navigationBarTitledisplayMode(.inline)
        }
    }

enter image description here

解决方法

在 SwiftUI 中,您无法在工具栏图标上使用形状 (可以,但有时导航栏图标会丢失剪辑形状(在 navigationLink、.sheet、.alert..... 之后)

(在 SwiftUI 2 上更喜欢使用 .toolbar{},没有 .navigationBarItems() )

但是,您可以使用 SwiftUIX 库 on GitHub

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...