SwiftUI 中的 RTL 语言问题

问题描述 投票:0回答:1

我在使用从右到左语言(阿拉伯语)的 SwiftUI 时遇到问题

导航栏是正确的,但是检查列表行和文本编辑器,它翻转到左边缘,它必须在阿拉伯语的右边缘,项目文件中的默认语言是阿拉伯语,也是内置的选项菜单因为搜索栏已翻转

struct ContentView: View {
    
    @State private var searchText: String = ""
    @State private var text: String = "تجريبي"
    
    var body: some View {
        
        NavigationStack {
                
            
            List {
                Section {
                    Text("مرحبا")
                    
                    TextEditor(text: self.$text)
                }
            }
            .navigationTitle("جديد")
        }
        .searchable(text: self.$searchText, placement: .navigationBarDrawer(displayMode: .always))
    }
}

屏幕1 屏幕2

示例项目

列表内容应从右边缘开始出现,搜索栏选项菜单也应翻转

ios swiftui right-to-left swiftui-list swiftui-searchable
1个回答
0
投票

我通过添加这行代码解决了列表上的这个问题

@Environment(.layoutDirection) 私有变量layoutDirection

列表{

} .scaleEffect(x: self.layoutDirection == .rightToLeft ? -1 : 1)

但是搜索栏菜单选项上的问题仍然相同

© www.soinside.com 2019 - 2024. All rights reserved.