如何处理iOS 8和更高版本中RTL语言的后按钮图像



i在我的应用程序中的英语(<)和阿拉伯语(>)的导航栏中,将我的后退按钮图像本地定位。当系统语言设置为阿拉伯语时,在iOS 9及以后,iOS将自动翻转导航栏,而后背按钮将在右侧,因此">"图像是一个完美的方向。但是,iOS 8中的后按钮仍在左侧,在这种情况下,">"将很奇怪。我可以使用代码中其他语言本地化的图像吗?任何建议都将不胜感激。

您不需要为这些类型的额外图像从属性中选择特定资产选择"方向"以前是"固定"将其转换为"从左到右,镜子"

用于RTL支持按钮图标,您需要在运行时间提供图像,例如:

//MARK: - Locale identifiers
enum LOCALE_IDENTIFIERS: String {
    case arabic = "ar-SA"
    case hindi = "hi"
    case urdu = "ur"
    case english = "en"
}
CURRENT_LANGUAGE = LOCALE_IDENTIFIERS.urdu.rawValue
/* Assume the CURRENT_LANGUAGE will return the current selected language */

/*This is what you need. The above code is just for making the sense*/
var iconName = ""
if Locale.characterDirection(forLanguage: CURRENT_LANGUAGE) == Locale.LanguageDirection.rightToLeft {
    iconName = "ic_back_button_RTL"
}else {
    iconName = "ic_back_button_LTR"
}
let backButtonImage: UIImage = UIImage(named: iconName)!
//Use this backButtonImage for your button.
/*The "ic_back_button_RTL" is an icon like: -> */    
/*The "ic_back_button_LTR" is an icon like: <- */

最新更新