我在我的应用程序中将导航栏中的后退按钮图像本地化为英语(<)和阿拉伯语(>)。当系统语言设置为阿拉伯语时,在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: <- */