当我将其用作系统图像时,一切正常,但是我有一个512x512大小的png图像,我想使其适合在navigationBarItem中。图片仅用以下代码占据了几乎所有屏幕:
var body: some View {
NavigationView {
Text("Main")
.navigationBarTitle("Title", displayMode: .inline)
.navigationBarItems(leading:
Button(action: {
print("button pressed")
})
{
Image("menu")
.renderingMode(.template)
.resizable()
.aspectRatio(contentMode: .fit)
.scaledToFit()
}
)
.navigationViewStyle(StackNavigationViewStyle())
}
}
答案 0 :(得分:0)
GeometryReader
为您提供父级指定的区域。我发现指定的空间很小,但如果将其增加三倍,则非常合适。
import SwiftUI
struct NavItemImage: View {
var body: some View {
NavigationView {
Text("Main")
.navigationBarTitle(Text("Title").font(.largeTitle), displayMode: .inline)
.navigationBarItems(leading:
GeometryReader{geo in
Button(action: {
print("button pressed")
})
{
Image("menu")
.renderingMode(.original)
.resizable()
.aspectRatio(contentMode: .fit)
.scaledToFit()
.frame(width: geo.size.width * 3, height: geo.size.height * 3, alignment: .leading)
}
}
)
.navigationViewStyle(StackNavigationViewStyle())
}
}
}