SwiftUI:大写视图的本地化字符串,例如`文本`?
SwiftUI: Uppercase a localized string for a view, e.g. `Text`?
使用 Xcode beta 6 和 SwiftUI,使用 >localized< 字符串创建 Text
视图,如何将其大写 而不必使本地化字符串值大写?我想我想要一个 ViewModifier
来改变大小写,但它似乎不存在?
Text("SignIn.Body.Instruction".uppercased())
会将本地化 key 大写,因此这将不起作用,如 .
中所述
Font
使用 smallCaps
修饰符如何?例如,Text("Hello World").font(Font.body.smallCaps())
将呈现 "HELLO WORLD"
,但为了可访问性,底层字符串将保留其适当的本地化大写。
手动本地化然后大写。
extension String {
func toUpperCase() -> String {
return localized.uppercased(with: .current)
}
private var localized : String {
return NSLocalizedString( self, comment:"")
}
}
Text("SignIn.Body.Instruction".toUpperCase())
现在可以使用所有新的 textCase
ViewModifier (Xcode 12 Beta 3),如下所示:
Text("SignIn.Body.Instruction")
.textCase(.uppercase)
或lowercase
:
Text("SignIn.Body.Instruction")
.textCase(.lowercase)
使用 Xcode beta 6 和 SwiftUI,使用 >localized< 字符串创建 Text
视图,如何将其大写 而不必使本地化字符串值大写?我想我想要一个 ViewModifier
来改变大小写,但它似乎不存在?
Text("SignIn.Body.Instruction".uppercased())
会将本地化 key 大写,因此这将不起作用,如
Font
使用 smallCaps
修饰符如何?例如,Text("Hello World").font(Font.body.smallCaps())
将呈现 "HELLO WORLD"
,但为了可访问性,底层字符串将保留其适当的本地化大写。
手动本地化然后大写。
extension String {
func toUpperCase() -> String {
return localized.uppercased(with: .current)
}
private var localized : String {
return NSLocalizedString( self, comment:"")
}
}
Text("SignIn.Body.Instruction".toUpperCase())
现在可以使用所有新的 textCase
ViewModifier (Xcode 12 Beta 3),如下所示:
Text("SignIn.Body.Instruction")
.textCase(.uppercase)
或lowercase
:
Text("SignIn.Body.Instruction")
.textCase(.lowercase)