我在處理一箇舊的應用程序時遇到了這個問題,該應用程序對於編寫RTL的阿拉伯語進行了本地化。我注意到在iOS9中,當推送視圖控制器時,我的UINavigationController顯示的是從右到左的動畫。我的應用程序視圖尚未準備好。即使在阿拉伯語故事板中,它們也被設計用於從左到右的過渡(因爲之前在較舊的iOS中,UINavigationController僅支持LTR過渡)。現在這個RTL動畫需要重新設計很多資源,所以我想強制它爲所有語言顯示LTR動畫。經過一些研究後,我找到了解決方案。iOS9強制LTR UINavigationController RTL語言的推送方向
1
A
回答
3
在iOS9中,爲此目的有一個新的常量UISemanticContentAttributeForceLeftToRight
。下面的代碼修復該問題,並強制從左到右動畫:
if(([[NSProcessInfo processInfo] respondsToSelector:@selector(isOperatingSystemAtLeastVersion:)]) &&
[[NSProcessInfo processInfo] isOperatingSystemAtLeastVersion:(NSOperatingSystemVersion){9, 0, 0}]) {
[[UIView appearance] setSemanticContentAttribute:UISemanticContentAttributeForceLeftToRight];
}
我們首先檢查的iOS版本,以避免錯誤的iOS版本低於9 我加了上面的代碼在我基地的ViewController類的ViewDidLoad
(我所有的ViewController類都從這個類繼承而來)。
+0
我已將這段代碼放在appdelegate didfinishlaunchingwithoptions中,它適用於所有viewcontrollers.Thanks很多。 – bittu
1
因爲只有在iOS 9
在應用程序委託中發生的寫:
if #available(iOS 9.0, *) {
UIView.appearance().semanticContentAttribute = .ForceLeftToRight
} else {
// Fallback on earlier versions
};
相關問題
- 1. 如何強制一段文字'方向ltr'在'方向rtl'段
- 2. rtl和ltr方向的多語言站點
- 3. 有沒有辦法獲得語言方向(RTL/LTR)?
- 4. Android:檢測軟鍵盤RTL Vs LTR(語言方向)
- 5. BIRT RTL和LTR方向
- 6. 在LTR設備上強制RTL
- 7. rtl HTML頁面中的方向ltr
- 8. html語言的方向? (如果英文dir = ltr,如果阿拉伯文dir = rtl)
- 9. 添加語言(LTR/RTL)機制來捆綁MVC 4
- 10. ckeditor bidi force使用方向rtl或ltr
- 11. RTL和LTR方向使用按鈕
- 12. RTL和LTR(雙向)在UITextView
- 13. 強制應用程序工作LTR
- 14. Android的混合語言文本 - BidiFormatter與RTL和LTR文本
- 15. 在正確的方向上同時打印阿拉伯語(RTL)和英語(LTR)
- 16. 在TextView中使用語言環境(ltr/rtl)來處理重力
- 17. 如何識別用戶是否以RTL或LTR語言輸入?
- 18. 如何在unicode中管理混合LTR和RTL語言?
- 19. 重新排列混合語言字符串(LTR + RTL)?
- 20. 在同一個控件中同時顯示RTL和LTR語言
- 21. 支持RTL語言
- 22. 開源cms ltr rtl?
- 23. RTL語言的JSON編碼
- 24. 方向(LTR/RTL):CSS方向和HTML方向屬性有什麼區別?
- 25. 強制將新視圖推送到UINavigationViewController的縱向方向
- 26. 在一個textarea,當前行的方向上從「RTL」變爲「LTR」
- 27. 如何將導航條目的方向從ltr更改爲rtl?
- 28. 如何從RTL的水平效果改變方向爲LTR
- 29. sIFR和RTL語言
- 30. RTL語言提示後的光標方
,因爲我已經不是我的搜索過程中發現了這樣的話題這僅僅是共享的目的。我在下面回答。 –