反应本机 - 在ios中的rtl

时间:2017-04-09 09:30:49

标签: ios react-native right-to-left

首先我在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代码中 但所有的文字和弹性仍然是... 我该怎么办?

3 个答案:

答案 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];