gpt4 book ai didi

ios - 使用与当前设备语言不同的系统 View 语言

转载 作者:可可西里 更新时间:2023-11-01 04:03:44 25 4
gpt4 key购买 nike

在一个应用程序中,我只想支持德语。这对我自己定义的所有文本都很好,但我无法更改系统提供的 View 显示的文本,例如 UISearchBar 的取消按钮:

UISearchBar with English localization

如果设备语言设置为德语,取消按钮会正确显示“Abbrechen”。但是,如果我将设备语言设置为英语(或任何其他语言),按钮会显示“取消”,这是不正确的,因为应用程序中的所有内容都是德语,所以我也希望这个按钮是德语的。有可能完成这个吗?我做错了什么?

  • 我只有 de.lproj 文件夹,没有 en.lproj 文件夹。我在 de.lproj 文件夹中有 InfoPlist.strings 和我的主要 nib 文件。
  • UIViewController 的内容 View 的 Nib ,我用来访问搜索栏的 searchDisplayController 属性也在 de.lproj 文件夹中。
  • 我已将 .pbxproj 中的开发区域设置为德语:

    developmentRegion = de;
  • 我已将 Info.plist 文件中的“本地化原生开发区域”设置为“de”:

    <key>CFBundleDevelopmentRegion</key>
    <string>de</string>

最佳答案

您可以通过设置它的 placeholder 属性轻松更改 UISearchBar 的占位符文本。

但是,没有任何简单的钩子(Hook)可以到达取消按钮。

访问搜索栏的取消按钮的一种方法是通过其 subview :

UIButton *cancelButton = nil;

for(UIView *subView in [searchBar subviews])
{
if([subView isKindOfClass:[UIButton class]])
{
cancelButton = (UIButton*)subView;
[cancelButton setText:@"Abbrechen"];
}
}

关于ios - 使用与当前设备语言不同的系统 View 语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8404365/

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