首先我在android和RTL上工作, 我添加了以下代码:
I18nUtil sharedI18nUtilInstance = I18nUtil.getInstance();
sharedI18nUtilInstance.setAllowRTL(context, true);
到MainActivity.java 和
android:supportsRtl="true"
到AndroidManifest.xml
并在js代码中:
I18nManager.forceRTL(true);
现在是问题所在: 我试图在ios上设置rtl但它不起作用 我添加了
// in AppDelegate.m
[[RCTI18nUtil sharedInstance] allowRTL:YES];
和
I18nManager.forceRTL(true);
在js代码中 但所有的文字和弹性仍然是... 我该怎么办?
答案 0 :(得分:2)
您必须在默认语言旁边添加RTL语言才能正常工作,可以找到更多信息here
答案 1 :(得分:1)
无需在项目中添加RTL语言。只需打开您的LocalDate
文件AppDelegate.m
请注意不要打开另一个扩展名为in yourProject/ios/YourProject/AppDelegate.m
的文件
现在,将.h
添加到这样的代码顶部:
#import <React/RCTI18nUtil.h>
现在重新启动并重建您的应用程序。
现在,您可以使用#import "AppDelegate.h"
#import <React/RCTBridge.h>
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
#import <React/RCTI18nUtil.h> <-- added here
轻松更改整个应用的RTL方向。
I18nManager
答案 2 :(得分:0)
即使添加新的RTL语言,我的问题也无法解决。最后,我通过在AppDelegate.m
下的[[RCTI18nUtil sharedInstance] allowRTL:YES];
文件中添加以下行来解决了该问题:
[[RCTI18nUtil sharedInstance] forceRTL:YES];