NavigationView中带有图像的按钮缩放不正确

问题描述 投票:0回答:1

当我将其用作系统图像时,一切正常,但是我有一个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())
    }

}
swift swiftui navigationbar swift5 navigationview
1个回答
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())
        }

    }
}
© www.soinside.com 2019 - 2024. All rights reserved.