2017-04-20 77 views
1

我想設置我的UITests本地化。特別是對於阿拉伯語和任何其他從右到左(RTL)語言。檢測從右到左語言斯威夫特UITest

在我的情況下,我有一個swipe(direction: SwipeDirection)函數,其值爲SwipeDirection.up, .down, .left, .right)。

如果我現在想要刪除讓我們說一個單元格,我只是做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