2015-07-06 95 views
1

我的iOS應用程序支持英語,我想允許用戶進行切換並將語言更改爲阿拉伯語(如果語言從右到左) 我在應用程序中爲字符串進行了本地化。 另外我想反映用戶界面中的所有組件[在左側和右側放置正確的組件,並使標題從右到左對齊] 當我瘋狂的自動佈局和如果我的設備區域設置是英語,組件被動態地反映。但是當用戶改變應用程序內部的語言而不是設備的語言時,我想強制反映它們。 這樣做的最好方法是什麼? .. 謝謝,iOS中的本地化

+0

這是可能的iOS9使用普通的定位技術,對老版本沒有一個完全左到右的支持 – Andrea

回答

0

可以使用AppleLanguages用戶默認做到這一點:

NSMutableArray* arr = [[[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"] mutableCopy]; 
[arr removeObject:targetLang]; 
[arr insertObject:targetLang atIndex:0]; 
[[NSUserDefaults standardUserDefaults] setObject:arr forKey:@"AppleLanguages"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 
+0

是我用它我是我的AppDelegate.swift:var arr:NSArray = [「ar」] NSUserDefaults.standardUserDefaults()。setObject(arr,forKey:「AppleLanguages」) NSUserDefaults.standardUserDefaults()。synchronize() 。它在添加Localisable.strings並創建尾隨和前導約束之後爲我工作。謝謝 –