首先我在 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 ...... 我该怎么办?
无需向您的项目添加 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/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |