SwiftUI 菜单内容以 RTL 语言翻转

vdo*_*tup 6 xcode menu ios swift swiftui

在project.pbxproj中,我将developmentRegion更改为ar,以在整个应用程序中强制使用阿拉伯语言和RTL布局,除了本例中的菜单视图内容外,一切看起来都很好:

\n
import SwiftUI\n\nstruct ContentView: View {\n    \n    @State private var selectedTime: Int = 0\n    \n    var body: some View {\n        Form {\n            Picker("", selection: $selectedTime) {\n                Text("\xd8\xb5\xd8\xa8\xd8\xa7\xd8\xad\xd8\xa7\xd9\x8b").tag(0)\n                Text("\xd9\x85\xd8\xb3\xd8\xa7\xd8\xa1\xd9\x8b").tag(1)\n            }\n            .labelsHidden()\n            .pickerStyle(SegmentedPickerStyle())\n            Menu {\n                Button("\xd8\xa7\xd9\x84\xd8\xb3\xd8\xa8\xd8\xaa", action: {})\n                Button("\xd8\xa7\xd9\x84\xd8\xa3\xd8\xad\xd8\xaf", action: {})\n                Button("\xd8\xa7\xd9\x84\xd8\xa7\xd8\xab\xd9\x86\xd9\x8a\xd9\x86", action: {})\n                Button("\xd8\xa7\xd9\x84\xd8\xab\xd9\x84\xd8\xa7\xd8\xab\xd8\xa7\xd8\xa1", action: {})\n                Button("\xd8\xa7\xd9\x84\xd8\xa7\xd8\xb1\xd8\xa8\xd8\xb9\xd8\xa7\xd8\xa1", action: {})\n                Button("\xd8\xa7\xd9\x84\xd8\xae\xd9\x85\xd9\x8a\xd8\xb3", action: {})\n                Button("\xd8\xa7\xd9\x84\xd8\xac\xd9\x85\xd8\xb9\xd8\xa9", action: {})\n            } label: {\n                Label("\xd8\xa7\xd9\x84\xd9\x8a\xd9\x88\xd9\x85", systemImage: "calendar")\n            }\n        }\n    }\n}\n\nstruct ContentView_Previews: PreviewProvider {\n    static var previews: some View {\n        ContentView()\n            .preferredColorScheme(.dark)\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

菜单内的按钮标签被翻转

\n

菜单按钮标签翻转

\n

感谢任何帮助,谢谢

\n

小智 0

只需添加

\n
init() {\n    UserDefaults.standard.set(["ar"], forKey: "AppleLanguages")\n}\n
Run Code Online (Sandbox Code Playgroud)\n

这是有效的完整代码

\n
import SwiftUI\n\nstruct ContentView: View {\n    init() {\n        UserDefaults.standard.set(["ar"], forKey: "AppleLanguages")\n    }\n    \n    @State private var selectedTime: Int = 0\n    \n    var body: some View {\n        Form {\n            Picker("", selection: $selectedTime) {\n                Text("\xd8\xb5\xd8\xa8\xd8\xa7\xd8\xad\xd8\xa7\xd9\x8b").tag(0)\n                Text("\xd9\x85\xd8\xb3\xd8\xa7\xd8\xa1\xd9\x8b").tag(1)\n            }\n            .labelsHidden()\n            .pickerStyle(SegmentedPickerStyle())\n            Menu {\n                Button("\xd8\xa7\xd9\x84\xd8\xb3\xd8\xa8\xd8\xaa", action: {})\n                Button("\xd8\xa7\xd9\x84\xd8\xa3\xd8\xad\xd8\xaf", action: {})\n                Button("\xd8\xa7\xd9\x84\xd8\xa7\xd8\xab\xd9\x86\xd9\x8a\xd9\x86", action: {})\n                Button("\xd8\xa7\xd9\x84\xd8\xab\xd9\x84\xd8\xa7\xd8\xab\xd8\xa7\xd8\xa1", action: {})\n                Button("\xd8\xa7\xd9\x84\xd8\xa7\xd8\xb1\xd8\xa8\xd8\xb9\xd8\xa7\xd8\xa1", action: {})\n                Button("\xd8\xa7\xd9\x84\xd8\xae\xd9\x85\xd9\x8a\xd8\xb3", action: {})\n                Button("\xd8\xa7\xd9\x84\xd8\xac\xd9\x85\xd8\xb9\xd8\xa9", action: {})\n            } label: {\n                Label("\xd8\xa7\xd9\x84\xd9\x8a\xd9\x88\xd9\x85", systemImage: "calendar")\n            }\n        }\n    }\n}\n\nstruct ContentView_Previews: PreviewProvider {\n    static var previews: some View {\n        ContentView()\n            .preferredColorScheme(.dark)\n            \n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n