SwiftUI:如何将 NavigationBarItem 与大标题导航标题对齐?

SwiftUI: How to align a NavigationBarItem with a large title navigation title?

无论我尝试过什么,我都无法让这个导航栏项目与这个视图上的大标题对齐?我已经尝试使用 Spacer() 填充或将其放置在 VStack 中,但都没有将其向下推。我怎样才能正确对齐它?

var body: some View {
            NavigationView {
                  //omitted 
                        .navigationTitle("Exertion")
                    }
                    .navigationBarItems(
            trailing:
                    Button(action: {
                        self.isShowingExertionCalendarSheet.toggle()
                    }) {
                        Image(systemName: "calendar")
                              .font(.system(size: 30, weight: .bold))                          
            }
        )   
    }           
}

你不能。因为导航标题是动态的,因为它可以在滚动时从小变大,至少你不这么说,UI 不允许你设置垂直对齐的导航项,而不是预期的其他位置。那是在安全区的正下方。就像给一个领先的导航项目隐藏后退按钮。这就是 Cocoa Touch either via SwiftUI 或 UIKIt 的工作原理。

嗯,我认为你可以这样做:

.navigationBarItems(
            leading: Text("Exertion")
                .fontWeight(.bold)
                .font(.largeTitle),
            trailing: Button(action: {
                ... your code here ...
            }, label: {
                Image(systemName: "calendar")
                    .foregroundColor(Color("Some Blue"))
            })
        )