SwiftUI 按钮点击区域不准确但在 navigationBarItems 中是正确的
Posted
技术标签:
【中文标题】SwiftUI 按钮点击区域不准确但在 navigationBarItems 中是正确的【英文标题】:SwiftUI Button tap area not accurate but in navigationBarItems is right 【发布时间】:2021-03-03 19:00:50 【问题描述】:这里在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
【问题讨论】:
【参考方案1】:在 SwiftUI 中,您不能在工具栏图标上使用整形 (可以,但有时导航栏图标会丢失剪辑形状(在 navigationLink、.sheet、.alert.... 之后)
(在 SwiftUI 2 上更喜欢使用 .toolbar,没有 .navigationBarItems())
但是,你可以使用 SwiftUIX 库on GitHub
【讨论】:
以上是关于SwiftUI 按钮点击区域不准确但在 navigationBarItems 中是正确的的主要内容,如果未能解决你的问题,请参考以下文章