首先我在 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代码中
但所有的文本和 flex 仍然是 ltr ......
我该怎么办?
Best Answer-推荐答案 strong>
无需向您的项目添加 RTL 语言。只需打开您的 AppDelegate.m 文件 in yourProject/ios/YourProject/AppDelegate.m
注意不要打开与此类似且扩展名为 .h 的文件
现在,将 #import 添加到代码顶部,如下所示:
#import "AppDelegate.h"
#import <React/RCTBridge.h>
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
#import <React/RCTI18nUtil.h> <-- added here
现在重新启动并重建您的应用程序。
现在您可以使用I18nManager 轻松更改整个应用的RTL方向。
import {I18nManager} from "react-native"
I18nManager.forceRTL(true) // false for LTR direction
关于ios - React native - ios 中的 rtl,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/43305153/
|