RTL изображения не переворачиваются внутри UITableViewCell - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть приложение, в котором мне нужно поддерживать язык справа налево.Система позаботится обо всем практически автоматически.За исключением изображений.

Некоторые из них (стрелки) необходимо перевернуть.В каталоге «Активы» я установил для свойства «Направление» этих изображений значение «Слева направо, зеркала».

Это хорошо работает с изображениями, которые используются для кнопок (как простых кнопок, так и кнопок панели навигации), но проблема возникает, когда речь идет об изображениях, которые используются в представлениях изображений внутри ячейки табличного представления.

Когда таблица отображается, они не переворачиваются.Когда я касаюсь ячейки, выбирая ее, изображение переворачивается и впоследствии переворачиваетсяИтак, мне нужно нажать каждую ячейку, чтобы перевернуть их изображения.

Я пытался использовать imageFlippedForRightToLeftLayoutDirection(), но безрезультатно.То же самое с withHorizontallyFlippedOrientation().

У вас есть идеи, как это исправить?

PS добавив скриншот по запросу.Top 3 cells have already been tapped, so arrows are flipped as expected. Bottom cells display unflipped images. Верхние 3 ячейки уже коснулись, поэтому стрелки перевернуты, как и ожидалось.В нижних ячейках отображаются неотображенные изображения.

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Кажется, что это ошибка с UIImageView, поскольку - как вы сказали - она ​​работает для изображения в UIButton.Хитрость заключается в том, чтобы установить изображение программно (вместо того, чтобы выбирать его в конструкторе интерфейсов).Тогда система RTL работает как положено:

yourImageView?.image = UIImage(named: "YourImageName")
0 голосов
/ 12 декабря 2018

Хорошо, это исправление, которое я нашел до сих пор.

Поскольку iOS по какой-то причине не может правильно отразить изображение, я установил для свойства 'Direction' значение 'Both' и добавилнабор изображений справа налево.

Это решило проблему.

enter image description here

...