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"))
})
)
无论我尝试过什么,我都无法让这个导航栏项目与这个视图上的大标题对齐?我已经尝试使用 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"))
})
)