如何知道SwiftUI中的语言是否从右到左?

我正在使用 SwiftUI 构建一个应用程序,并且我正在使用一个指向手 SF 符号,问题是要本地化应用程序的从右到左语言这个符号没有意义,我想添加一个条件当语言从右到左时更改它。

如何知道本地语言在 SwiftUI 中是否从右到左?

这是代码:

struct MyView: View {
    var body: some View {
        HStack {
            Spacer()
            Text("SWIPE")
                .font(.system(.headline, design: .serif))
            Image(systemName: localizedSymbol)
                .font(.title2)
        }
    }
    
    var localizedSymbol: String {
        var leftToRight = true // How to get this property
        return leftToRight ? "hand.point.right" : "hand.point.left"
    }
}

我确实找到了这篇文章,但是如何访问 UIView,我可以将 UIViewRepresentable 与 UIImage 一起使用,但对于此类任务来说似乎太复杂且不可读。https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPInternational/SupportingRight-To-LeftLanguages/SupportingRight-To-LeftLanguages.html

回答

这是Locale基于方法:

guard let language = Locale.current.languageCode else { return }
let direction = Locale.characterDirection(forLanguage: language)
switch direction {
    case .leftToRight:
        print("do something here")
    case .rightToLeft:
        print("do something here")
    // ... others if needed
    default:
        print("do something here")
}


以上是如何知道SwiftUI中的语言是否从右到左?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>