ios 7 – 强制视图布局翻转到RTL而无需更改语言

ios 7 – 强制视图布局翻转到RTL而无需更改语言,第1张

概述我的应用程序中有一些视图需要能够同时显示LTR和RTL内容(不是同时显示),并且它必须与常规应用程序布局方向无关.意思是,我希望能够在不改变系统语言的情况下,通过动态告诉特定视图将其布局从LTR翻转到RTL,反之亦然. 我对此进行了相当多的研究,但除了以下两种解决方案之外,它似乎不可能: Flip layout on iPhone for RTL languages How to force “R 我的应用程序中有一些视图需要能够同时显示LTR和RTL内容(不是同时显示),并且它必须与常规应用程序布局方向无关.意思是,我希望能够在不改变系统语言的情况下,通过动态告诉特定视图将其布局从LTR翻转到RTL,反之亦然.

我对此进行了相当多的研究,但除了以下两种解决方案之外,它似乎不可能:
Flip layout on iPhone for RTL languages
How to force “Respect Language Direction” from RTL to LTR and vice versa

第一种解决方案与我的情况无关.第二个解决方案让我想到为每个视图保留两个版本,一个用于RTL,一个用于LTR,并且动态使用相关的版本.这意味着我将不得不在每次UI更新时更新两次视图.

当然,第三种解决方案是在显示视图之前,根据相关方向以编程方式手动更改视图的布局.

那么,这些是我唯一的选择吗?

P.S:我只谈论布局,而不是本地化字符串,因为我自己正在处理正确的文本.

解决方法 我发现实现它很容易,只是:
func setRTL(_ sender: UIbutton) {    UIVIEw.appearance().semanticContentAttribute = .forceRightToleft    UINavigationbar.appearance().semanticContentAttribute = .forceRightToleft    if let vc = storyboard?.instantiateVIEwController(withIDentifIEr: "root") {        UIApplication.shared.keyWindow?.rootVIEwController = vc    }}

预习:

并查看完整的DEMO.

总结

以上是内存溢出为你收集整理的ios 7 – 强制视图布局翻转到RTL而无需更改语言全部内容,希望文章能够帮你解决ios 7 – 强制视图布局翻转到RTL而无需更改语言所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1105430.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存