问题描述
这里在 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)
}
}
解决方法
在 SwiftUI 中,您无法在工具栏图标上使用形状 (可以,但有时导航栏图标会丢失剪辑形状(在 navigationLink、.sheet、.alert..... 之后)
(在 SwiftUI 2 上更喜欢使用 .toolbar{},没有 .navigationBarItems() )
但是,您可以使用 SwiftUIX 库 on GitHub