Hello,
I would like to report a critical issue with Arabic text rendering in SwiftUI apps on iOS and iPadOS.
When using Arabic as the default language (Right-to-Left - RTL), Arabic text appears reversed and disconnected inside several SwiftUI components like:
- List
- Section
- TextField
- Picker
- Custom views (like StudentRowView)
Even though the environment is set to .layoutDirection(.rightToLeft)
, the dynamic Arabic text is not rendered properly. Static headers display correctly, but any dynamic content (student names, notes, field titles) becomes broken and unreadable.
Examples where the issue occurs:
- AboutView.swift → Arabic text inside List and Section
- SettingsView.swift → TextField placeholders and Picker options
- StudentRowView.swift → Student names and grade field titles
Environment:
- SwiftUI 5 (Xcode 15+)
- iOS 17+
- Reproducible 100% on both Simulator and real devices.
Expected Behavior: Arabic text should appear properly connected, right-aligned, and readable without any manual workaround for each Text or TextField.
Workarounds Tried:
- Manually setting
.multilineTextAlignment(.trailing)
(inefficient) - Wrapping every Text inside an HStack with Spacer (hacky)
- Building custom UIKit views (defeats purpose of SwiftUI simplicity)
Formal Feedback:
I have submitted a Feedback Assistant report
We hope this issue will be prioritized and fixed to improve SwiftUI's support for Arabic and other RTL languages.
Thank you.