翻转从右到左语言的UIImageViews

jhu*_*lst 9 internationalization ios

ViewController当使用像阿拉伯语这样的RTL语言时,iOS会自动翻转整个版本,并且在大多数布局(尤其是文本)方面做得很好.默认行为是翻转布局但保留UIImageViews相同的方向(因为您通常不想反转图像).

当手机设置为RTL语言时,有没有办法指定某些图像应该翻转(如箭头)?

wak*_*amo 12

iOS 9包含imageFlippedForRightToLeftLayoutDirection您可以使用的方法,该方法在RTL本地化时自动翻转UIImageView中的图像.


Ser*_*ioM 9

迄今为止我发现的最佳解决方案是将资产文件中的图像标记为镜像。 在此处输入图片说明


Aam*_*mir 8

imageFlippedForRightToLeftLayoutDirection如果当前语言是 RTL(从右到左),我们可以使用which 返回翻转的图像。IE

目标-c

UIImage * flippedImage = [[UIImage imageNamed:@"imageName"] imageFlippedForRightToLeftLayoutDirection];
Run Code Online (Sandbox Code Playgroud)

斯威夫特 3

let flippedImage = UIImage(named: "imageName")?.imageFlippedForRightToLeftLayoutDirection()
Run Code Online (Sandbox Code Playgroud)

资料来源:苹果文档