SwiftUI - 禁用某些视图从右到左语言的翻转

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

当我们的应用程序以从右到左的语言(例如希伯来语或阿拉伯语)运行时,SwiftUI 视图会自动将视图的位置从右到左翻转。其中一些非常有帮助,但某些观点不应该被颠倒。

我们在视图上尝试了.flipsForRightToLeftLayoutDirection(false),但这并没有阻止它们在使用设置为希伯来语或阿拉伯语的方案运行时以不同的方式定位。

将不胜感激任何帮助。谢谢!

ios swiftui localization arabic right-to-left
2个回答
6
投票

您可以使用

.environment
强制布局方向:

.environment(\.layoutDirection, .leftToRight)

0
投票

添加附加信息。也许对某人会有用。

如果您使用 UIViewRepresentable 来包装 UIKit 中的 UITextField,那么

.environment(\.layoutDirection, .leftToRight)
是不够的。将这两个属性添加到 UIViewRepresentable 结构中的 UITextField 配置中:

 textField.semanticContentAttribute = .forceLeftToRight
 textField.textAlignment = .left

请注意,仅设置 UITextField 语义和 textAlignment 也是不够的。您应该首先设置 UITextField,然后将

.environment(\.layoutDirection, .leftToRight)
添加到 SwiftUI 中的 View

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.