使用Xcode beta 6和SwiftUI,使用> localized << / strong>字符串创建Text
视图,我如何将其大写而不必使本地化的字符串值大写< / strong>?我想我想用ViewModifier
来更改大小写,但是它似乎不存在吗?
Text("SignIn.Body.Instruction".uppercased())
将大写本地化键 ,因此按照此SO question about uppercasing a non-localized string的说明,该键将无效。
答案 0 :(得分:4)
如何为smallCaps
使用Font
修饰符?例如,Text("Hello World").font(Font.body.smallCaps())
将呈现"HELLO WORLD"
,但是底层字符串将保留其适当的本地化大写字母,以实现可访问性。
答案 1 :(得分:3)
现在可以使用所有新的https://passingcuriosity.com/2013/dnsmasq-dev-osx/(Xcode 12 Beta 3),就像这样:
Text("SignIn.Body.Instruction")
.textCase(.uppercase)
或lowercase
:
Text("SignIn.Body.Instruction")
.textCase(.lowercase)
答案 2 :(得分:0)
手动将其本地化,然后将其大写。
extension String {
func toUpperCase() -> String {
return localized.uppercased(with: .current)
}
private var localized : String {
return NSLocalizedString( self, comment:"")
}
}
Text("SignIn.Body.Instruction".toUpperCase())