gpt4 book ai didi

ios - 将主要的 AppleLanguage 更改为阿拉伯语,但仍然是 UIUserInterfaceLayoutDirectionLeftToRight

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:05:50 31 4
gpt4 key购买 nike

我尝试通过编写以下代码将本地化设置为阿拉伯语:

int main(int argc, char * argv[]) {

@autoreleasepool
{
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"ar-EG", nil] forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}

我在 AppDelegate 中获取 AppleLanguages 并确保它成功返回 ar-EG 作为数组中的第一个语言但是在应用程序的第一次运行时,语言方向仍然是 UIUserInterfaceLayoutDirectionLeftToRight 并且没有'不要像在第二次运行时那样更改 UIUserInterfaceLayoutDirectionRightToLeft。第一次运行仅在 iPhone 6s 上成功更改布局方向。

任何想法伙计们。

最佳答案

在你的 Appdelegate 或 Parent View Controller 中添加这个:

#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v)  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)

if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"9.0")) {
[[UIView appearance] setSemanticContentAttribute:UISemanticContentAttributeForceRightToLeft];
}

并使用其中一个动态本地化语言的库,它将在 iOS 9(及更高版本)上运行良好。

注意:对于 iOS 8,您可以添加一条警告消息,告诉用户配置仍需要进行,并要求他重新启动,甚至在单击“确定”时执行“退出(0)”,在单击“取消”时保持打开状态.但由于 iOS 9 在市场上占有更大的份额,所以我认为你的应用程序不会发生太多。

关于ios - 将主要的 AppleLanguage 更改为阿拉伯语,但仍然是 UIUserInterfaceLayoutDirectionLeftToRight,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37573237/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com