2017-04-20 5 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

관련 문제