ios - 以编程方式更改 Xib 方向的最佳方法

标签 ios swift uiview xib right-to-left

我有一个应用程序有一个设置页面,用户可以在其中更改应用程序的语言。最终,xibs 的方向会改变。多解释一下,如果语言是英语,则方向将是 LTR;但是,如果它是阿拉伯语,它将是 RTL。

问题

实现此目标的最佳方法是什么?

尝试解决问题的方法

  • NSUserDefaults : 将语言设置为“ar-SA”时,方向会成功更改,但在主类中调用时。当我在运行时执行时,必须重新启动应用程序才能生效。即使有重启应用的方法,也不推荐,应用有被拒绝的风险
  • 多个 xibs: 这种方法最终会奏效,但我必须为每个 UIView 创建两个 Xibs 文件。如果这是唯一的解决方案,我可以在一个 xib 文件中创建两个 UIView 以避免混淆吗?

还有其他建议吗?

谢谢

最佳答案

我强烈建议放弃应用内语言切换器,将您的用户引导至系统范围的语言和区域首选项,他们可以在其中设置他们的引用语言。

尝试在您的应用中手动提供语言支持会给您的用户带来无穷无尽的问题和错误,其中一些您甚至可能无法解决。您提供的两种方法都已经低于标准,第二种听起来像是可维护性的噩梦。

关于ios - 以编程方式更改 Xib 方向的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27743897/

相关文章:

ios - 在 iOS 中将音频文件的播放速度降低 600%-900%(不影响音高)

ios - 有没有办法只在 VisionLabelDetector 中获得最高置信度的结果?

ios - iOS 11 中新的 MapKit MarkerAnnotationView 问题

ios - 在 UIView (Swift) 中绘制圆形切口

iphone - 过渡到以编程方式查看 ios

ios - ScrollView的contentOffset&contentInset到底是什么

ios - 如何检测蓝牙设备的音频来自哪个设备

ios - UIImageView 并不总是为模板图像着色

ios - 我应该如何正确地向 AVCaptureVideoPreviewLayer 添加约束?

ios - 在快速静态错误中对自定义 UIView 进行动画处理