iPhone 上针对 RTL 语言的翻转布局

2024-02-12

这是我的问题:

我已将我的应用程序本地化为阿拉伯语。 (它实际上与常规本地化略有不同,因为我有不同的目标,每种语言一个)。

在模拟器上,由于自动布局和约束的前导/尾随部分,视图被正确翻转,但我似乎无法在设备上获得相同的结果。AutoLayout + RTL + UILabel 文本对齐 https://stackoverflow.com/questions/18744447/autolayout-rtl-uilabel-text-alignment显示模拟器上翻转视图的示例。

我还发现自动布局指南中支持它的迹象:«对于从左到右的语言,属性leading和trailing与left和right相同,例如 英语,但在希伯来语或阿拉伯语等从右到左的环境中,前导和尾随与右和左相同 https://developer.apple.com/library/ios/documentation/userexperience/conceptual/AutolayoutPG/AutoLayoutConcepts/AutoLayoutConcepts.html#//apple_ref/doc/uid/TP40010853-CH14-SW1»。这让我认为它应该翻转视图,就像在模拟器上一样。

I use -AppleLanguages (ar_SA)在我的模拟器方案中,它会翻转视图,但无法在设备本身中找到正确的设置来执行相同的操作。将语言和区域格式设置为阿拉伯语似乎没有多大帮助。 这是在 iPhone 4S、iOS 7.0.4 上

TLDR:我应该在实际的 iPhone 设备上更改什么设置才能处于“阿拉伯环境”并具有翻转视图,或者我缺少什么以便它在模拟器中翻转但不在设备上翻转?


最后添加以下内容:

int main(int argc, char *argv[]) {
    @autoreleasepool {
#if TARGET == TARGET_AR
        NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
        [defaults setObject:[NSArray arrayWithObject:@"ar-SA"] forKey:@"AppleLanguages"];
        [defaults synchronize];
#endif
        return UIApplicationMain(argc, argv, NSStringFromClass([SNFIdleDetectorApplication class]), NSStringFromClass([SNFAppDelegate class]));
    }
}

虽然我确实觉得这种丑陋。

编辑:值得注意的是,当设置为阿拉伯语时,设备显示@"ar"作为 AppleLanguages 第一个值,而不是@"ar-SA"。我想翻转视图不适用于@"ar"语言环境,尽管我不确定这是否是一个错误,或者某些阿拉伯国家是否写了 LTR,因此不系统地翻转视图是有道理的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iPhone 上针对 RTL 语言的翻转布局 的相关文章

随机推荐

  • 在 python 中保存依赖关系图

    我在 python3 中使用斯坦福依赖解析器来解析一个句子 它返回一个依赖图 import pickle from nltk parse stanford import StanfordDependencyParser parser Sta
  • Linux 内核 - 我可以在不同的函数中锁定和解锁 Spinlock 吗?

    我是内核编程和锁编程的新手 在不同的函数中锁定和解锁自旋锁是否安全 我这样做是为了同步代码流 另外 在 schedule 中使用自旋锁 锁定和解锁 是否安全 让调度程序等待获取锁是否安全 提前致谢 代替spinlock 你可以使用semap
  • 移动 WordPress 站点后无法访问该站点

    我使用的是 WordPress 后来我备份了所有数据和数据库 将其移至另一台计算机上 我将所有文件移入www目录在wamp服务器 一切都很好 但我遇到了一个错误 登录数据库时出错 所以在谷歌搜索后我更改了我的用户名 数据库名称和密码wp c
  • 查找最多 2 个不同位置的字符串邻居

    给定一个种子字符串 我想找到其邻居最多有 2 个位置不同 生成字符串涉及的所有数字只有四位 即0 1 2 3 这是我的意思的例子 In this example first column are neighbors with only 1
  • Android Studio:默认项目目录

    每当我创建一个新项目时Android Studio它希望将其放在类似于以下位置的通用默认文件夹中 取决于操作系统 Ubuntu home USER AndroidStudioProjects 我想将此目录更改为另一个位置 除了在创建每个项目
  • 在R中将长数据重塑为宽数据[重复]

    这个问题在这里已经有答案了 我正在尝试重塑 R 中的一些用户数据 我有一个会话 ID 的 data frame 每个会话都有一个 User ID 和日期 我想使用 User ID 变量作为我的 密钥 但仅限于 userType 为 新访客
  • 缩放时如何保持d3正交投影居中

    我正在尝试复制 Jason Davies 旋转世界 可视化中显示的缩放功能 https www jasondavies com maps rotate https www jasondavies com maps rotate 我可以旋转和
  • 即使表单没有焦点也拦截按键

    我构建了一个 winforms 应用程序 通过重写 ProcessCmdKey 方法来检查 CTR ALT S 和 CTRL ALT E 按键 这很好用 但如果屏幕保护程序继续运行然后关闭 则表单不会获得焦点 并且按键不会被拦截 即使表单没
  • 如何在 Nuxt 3 中添加脚本块到头部?

    我只是想添加一个script块在head tag Example 我花了几个小时来找出解决方案 解决像这样简单的问题 关于添加有很多答案inline脚本 但没有脚本block for Nuxt 3 我们怎样才能做到这一点Nuxt 3 好吧
  • 在同一个for循环中遍历django模板中的多个列表

    我想在同一个 for 循环中遍历 django 模板中的多个列表 我该怎么做 一些想法链接到这里 for item1 item2 item3 in list1 list2 list3 item1 item2 item3 endfor 这样的
  • 使用scikit-learn(sklearn),如何处理线性回归的缺失数据?

    我尝试了这个 但无法让它适用于我的数据 使用 Scikit Learn 对时间序列 pandas 数据框进行线性回归 https stackoverflow com questions 29748717 use scikit learn t
  • Facebook 聊天 API - php

    我已经成功通过 xmpp 协议登录 Facebook 我使用了 facebook 文档中提供的 PHP 代码
  • 自定义ipython笔记本的欢迎页面

    我可以自定义 iPython 笔记本服务器 版本 2 3 的登录页面吗 我的意思是 在起始页 类似于 http localhost 8888 tree 我想显示欢迎来到 John Doe 的 i Py 笔记本或修改现有横幅 这可能吗 您可以
  • Mac OS X /bin/bash:python:在某些 IDE 中找不到命令

    当我编译的时候test py 一个非常简单的Python文件 在Sublime Text或CodeRunner中 我收到错误 bin bash python command not found 然后我输入python test py在终端应
  • Swing Worker 模态对话框不会关闭

    我有一个 SwingWorker 线程 它启动一个模式对话框 从侦听启动的 StateValue 的属性更改侦听器 并且 swing 工作线程继续执行其工作 但是 看起来 did 方法没有被调用 因为它是在 EDT 上调用的 但 swing
  • Numpy 数组到 TFrecord

    我正在尝试通过张量流对象检测 API 训练自定义数据集 数据集包含 40k 训练图像和标签 采用 numpy ndarray 格式 uint8 训练数据集形状 2 40000 23456 和标签形状 1 0 3 我想为此数据集生成 tfre
  • 如何升级pip3?

    I want to use python3 5 for development but many times when I install the module for python 3 5 it always fails The term
  • 派生类型中的可变长度数组

    我主要使用 Python 进行科学编程 并没有大量的 Fortran 90 95 经验 对于我的一个项目 我想定义一个派生类型并为该类型重载一堆运算符 至关重要的是 我希望派生类型的变量之一成为可变长度的数组 至少 我在代码的不同部分需要两
  • 删除 tar 生成的尾随空字符

    我正在尝试压缩一些文件并通过 php passthru 命令将它们传递给用户 问题是 尽管 tar 文件应该只有 2k 大小 但它始终是 10240 有趣的数字对吗 所以我把它分解为 sh 4 1 tar czf test wc c 102
  • iPhone 上针对 RTL 语言的翻转布局

    这是我的问题 我已将我的应用程序本地化为阿拉伯语 它实际上与常规本地化略有不同 因为我有不同的目标 每种语言一个 在模拟器上 由于自动布局和约束的前导 尾随部分 视图被正确翻转 但我似乎无法在设备上获得相同的结果 AutoLayout RT