RTL图像不会在UITableViewCell内部翻转

时间:2018-12-12 11:22:07

标签: ios swift uitableview uiimage right-to-left

我有一个需要支持从右到左语言的应用程序。该系统几乎自动完成所有工作。除了图片。

其中一些(箭头)需要翻转。在“资产”目录中,我将这些图像的“方向”属性设置为“从左到右,镜像”。

这对于用于按钮(简单按钮和导航栏按钮)的图像效果很好,但是当涉及到在表视图单元格内的图像视图中使用的图像时,就会出现问题。

显示表格时,它们不会翻转。当我点击一个单元格并将其选中时,图像会翻转并保持翻转。因此,我需要点击每个单元格以翻转其图像。

我尝试使用imageFlippedForRightToLeftLayoutDirection(),但没有任何效果。与withHorizontallyFlippedOrientation()相同。

您有解决办法的想法吗?

P.S。根据要求添加屏幕截图。 Top 3 cells have already been tapped, so arrows are flipped as expected. Bottom cells display unflipped images. 已经敲击了前3个单元格,因此箭头按预期方式翻转。底部单元格显示未翻转的图像。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

好的,这是我到目前为止找到的解决方法。

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

那解决了这个问题。

enter image description here