我有一个世博会的应用程序,这是为了只有在他,和RTL不工作,在某些情况下。
在使用RTL系统语言的设备上,HE工作正常,但当系统语言是EN(或任何LTR语言)时,应用程序在第一次加载时将是LTR。
所以,我的问题是,我如何才能强制应用程序始终是RTL,而不管系统语言是什么?
现在,我试图像这样强制它(这段代码在index.js中,我使用的是路由器):
import 'expo-router/entry'
import { I18nManager } from 'react-native'
I18nManager.forceRTL(true)
I18nManager.allowRTL(true)
此外,我尝试过预构建项目,像这里一样更新本机文件,并使用XCode在测试TestFlight中部署,但没有工作。
你有其他解决办法吗?
L.E.
我已经创建了一个修改器,它使用来自其他帖子的建议更新AppDelegate.mm:
#import <React/RCTI18nUtil.h>
在didnashLaunchingWithOptions中:
[[RCTI18nUtil sharedInstance] allowRTL:YES];
[[RCTI18nUtil sharedInstance] forceRTL:YES];
所以,我没有手动更新AppDelegate.mm,而是使用expo prebuild中的修改器-仍然无法在系统语言为英语的设备上工作
1条答案
按热度按时间carvr3hs1#
你可以使用react-native-restart包来重新加载应用包,以防卡住。