Зеркальное отображение в ячейке UITableView для локализации - PullRequest
0 голосов
/ 03 мая 2018

images in cells are not flipped

Мне нужно перевернуть изображение стрелки в ячейках UITableview. Я пытаюсь использовать flipsForRightToLeftLayoutDirection но это не дает зеркального эффекта.

if #available(iOS 10.0, *) {
    cell.imageViewArrow.image?.withHorizontallyFlippedOrientation()
} 
else {
    cell.imageViewArrow.image =   UIImage(cgImage: (cell.imageViewArrow.image?.cgImage!)!, scale:(cell.imageViewArrow.image?.scale)! , orientation: UIImageOrientation.upMirrored)
    // Fallback on earlier versions
}

Ответы [ 2 ]

0 голосов
/ 01 июля 2019

Вы можете установить language-direction изображения из папки Images.xcassets следующим образом Images.xcassets here

, и он покажет правильное перевернутое изображение для RTL макета и фактическое изображение для LTR макета.

Ссылка: https://developer.apple.com/library/archive/documentation/Xcode/Reference/xcode_ref-Asset_Catalog_Format/ImageSetType.html#//apple_ref/doc/uid/TP40015170-CH25-SW32

0 голосов
/ 03 мая 2018

Вы не устанавливаете изображение на что-либо. Замените ваш код следующим:

cell.imageViewArrow.image = cell.imageViewArrow.image?.withHorizontallyFlippedOrientation()

Тем не менее, рекомендуется устанавливать перевернутое изображение, только если язык RTL. Для этого установите для изображения возвращаемое значение imageFlippedForRightToLeftLayoutDirection():

cell.imageViewArrow.image = cell.imageViewArrow.image?.imageFlippedForRightToLeftLayoutDirection()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...