代码之家  ›  专栏  ›  技术社区  ›  Yevgeniy Leychenko

未在UITableViewCell中翻转RTL图像

  •  1
  • Yevgeniy Leychenko  · 技术社区  · 7 年前

    我有一个应用程序需要支持从右向左的语言。系统几乎自动处理所有事情。除了图像。

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

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

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

    我试过用 imageFlippedForRightToLeftLayoutDirection() 但没有效果。同样 withHorizontallyFlippedOrientation() .

    你有办法解决这个问题吗?

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

    2 回复  |  直到 7 年前
        1
  •  0
  •   André Slotta    7 年前

    好像是个虫子 UIImageView 因为-正如你所说的-它适用于 UIButton . 技巧是以编程方式设置图像(而不是在InterfaceBuilder中选择它)。然后,RTL系统按预期工作:

    yourImageView?.image = UIImage(named: "YourImageName")
    
        2
  •  0
  •   Yevgeniy Leychenko    7 年前

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

    只要iOS出于某种原因无法正确镜像图像,我就将“direction”属性设置为“both”,并添加了从右到左的一组图像。

    这解决了问题。

    enter image description here

    推荐文章