2017-04-20 12 views
1

私は自分のUITestsをローカライゼーション用に設定しようとしています。特にアラビア語およびその他右から左(RTL)言語です。右から左へ検出Swift UITestでの言語

私の場合、SwipeDirection.up, .down, .left, .right)の値をとるswipe(direction: SwipeDirection)関数があります。

セルを削除する場合は、cell.swipe(.left)とし、UITestとするとセルが削除されます。 UIがRTL言語に反転されているので、これはcell.swipe(.right)に変更する必要があります。

現在のデバイス言語を検出する方法が見つからず、UILayoutDirectionも見つかりませんでした。

let isLeftToRight = UIView.userInterfaceLayoutDirection(for: UIView().semanticContentAttribute) == .leftToRight 

とも

let isLeftToRight = UIApplication.shared.userInterfaceLayoutDirection == .leftToRight 

をしかし、それらの両方は常にtrue、どんなに言葉を返す:

私はこのすでにようにそれをチェックしようとしました。 現在知られている他の方法がありますか?UILayoutDirection

ありがとうございました!

答えて

2

ないまさに私は今のためにそれを使用するつもりです

let locale = NSLocale.autoupdatingCurrent 
let lang = locale.languageCode 
let direction = NSLocale.characterDirection(forLanguage:lang!) 
+0

ハードは、ドキュメント内で検索すること。私はロケールについて一度WWDCビデオを見たと思います。なぜそれを使用してはならないのですか?それを見て、多分私は間違っています。ありがとうございました! – smnk

関連する問題