Чистый макет, поддерживающий справа налево
Поддерживает ли iOS чистая компоновка языки справа налево? Как мы можем реализовать это в коде для арабского языка без необходимости переходить к настройке и выбирать регион и язык форматирования
Спасибо
1 ответ
Вы можете протестировать макеты справа налево, выбрав схему своего приложения в Xcode -> Edit Scheme... -> "Выполнить" -> вкладка "Options" -> Язык приложения -> Псевдоязык справа налево.
Настоятельно рекомендуется использовать Auto Layout для указания ваших макетов в ваших представлениях, и большая часть работы будет выполнена за вас, если вы запустите приложение на этих языках.
Для получения дополнительной информации поддержка языков справа налево является отличным началом.
Да, вы можете поддерживать макет RTL для iPhone (поддержка арабского языка)
// Для Swift 4.0
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
//if UserDefaults.languageCode == "ar" {
UIView.appearance().semanticContentAttribute = .forceRightToLeft //SMP: LTR to RTL
//}
…
}
extension UITextField {
open override func awakeFromNib() {
super.awakeFromNib()
//if UserDefaults.languageCode == "ar" {
if textAlignment == .natural {
self.textAlignment = .right
}
//}
}
}
extension UILabel {
open override func awakeFromNib() {
super.awakeFromNib()
//if UserDefaults.languageCode == "ar" {
if textAlignment == .natural {
self.textAlignment = .right
}
//}
}
}