RTL 图像不会在 UITableViewCell 中翻转

RTL images are not flipped inside UITableViewCell

我有一个应用需要支持从右到左的语言。系统几乎自动处理所有事情。图片除外。

其中一些(箭头)需要翻转。在资产目录中,我将这些图像的 'Direction' 属性 设置为 'Left To Right, Mirrors'。

这适用于用于按钮(简单按钮和导航栏按钮)的图像,但当涉及到在 table 视图单元内的图像视图中使用的图像时,就会出现问题。

显示table时,不翻转。当我点击一个单元格并选择它时,图像会翻转并在之后保持翻转状态。所以,我需要点击每个单元格来翻转它们的图像。

我试过使用imageFlippedForRightToLeftLayoutDirection(),但没有效果。与 withHorizontallyFlippedOrientation().

相同

您知道如何解决这个问题吗?

P.S。根据要求添加屏幕截图。前 3 个单元格已被点击,因此箭头按预期翻转。底部单元格显示未翻转的图像。

前 3 个单元格已被点击,因此箭头按预期翻转。底部单元格显示未翻转的图像。

好的,这是我目前找到的修复方法。

只要iOS由于某种原因无法正确镜像,我已经将'Direction'属性设置为'Both'并添加了从右到左图片集。

问题解决了。

似乎是 UIImageView 的错误,因为 - 如您所说 - 它适用于 UIButton 中的图像。诀窍是以编程方式设置图像(而不是在界面生成器中选择它)。然后 RTL 系统按预期工作:

yourImageView?.image = UIImage(named: "YourImageName")