如何在 SwiftUI 中将 .navigationBarTitle 对齐更改为 iOS 的尾随(或者,使其从右到左)
How to change .navigationBarTitle alignment to trailing for iOS in SwiftUI (or, make it Right To Left)
我已经使用UINavigationBar.appearance().titleTextAttributes
和UINavigationBar.appearance().backgroundColor
修改了navigationBar
的标题字体、颜色和背景。
但是我找不到任何属性来将 navigationBarTitle
对齐设置为右对齐(尾随)。
此外,我什至尝试过 .navigationBarTitle(Text("Title").multilineTextAlignment(.leading))
修饰符,但 SwiftUI 不接受它。任何解决方案将不胜感激。
可以通过以下修饰符从右到左更改任何 view
:
.environment(\.layoutDirection, .rightToLeft)
.flipsForRightToLeftLayoutDirection(true)
它也可以用于导航栏:
NavigationView {
VStack {
//Your views ...
.navigationBarTitle(Text("Title"))
}
}
.environment(\.layoutDirection, .rightToLeft)
.flipsForRightToLeftLayoutDirection(true)
我已经使用UINavigationBar.appearance().titleTextAttributes
和UINavigationBar.appearance().backgroundColor
修改了navigationBar
的标题字体、颜色和背景。
但是我找不到任何属性来将 navigationBarTitle
对齐设置为右对齐(尾随)。
此外,我什至尝试过 .navigationBarTitle(Text("Title").multilineTextAlignment(.leading))
修饰符,但 SwiftUI 不接受它。任何解决方案将不胜感激。
可以通过以下修饰符从右到左更改任何 view
:
.environment(\.layoutDirection, .rightToLeft)
.flipsForRightToLeftLayoutDirection(true)
它也可以用于导航栏:
NavigationView {
VStack {
//Your views ...
.navigationBarTitle(Text("Title"))
}
}
.environment(\.layoutDirection, .rightToLeft)
.flipsForRightToLeftLayoutDirection(true)