ios - 从应用程序内部更改应用程序语言后更改TabBar项目

标签 ios swift localization uitabbar

我有一个应用程序,并且正在其中更改语言。
通过更改UIView外观,可以将语言正确更新到其他屏幕。

Localize.setCurrentLanguage("ar")
        UIView.appearance().semanticContentAttribute = .forceRightToLeft

我无法在tabcontrolle r文件中重新获得控制权。 TabBar是自定义创建的。我检查了awakefromNib(),但并没有每次都使用它。是否有任何选项卡栏方法可以让我每次出现时都获得控制,或者有什么方法可以更改选项卡栏项标题的语言?

最佳答案

在VC中更改应用程序语言后,创建并调用函数localizeTabBar():

func localizeTabBar() {
    tabBar.items![0].title = "1tab".localized
    tabBar.items![1].title = "2tab".localized
    tabBar.items![2].title = "3tab".localized
    tabBar.items![3].title = "4tab".localized
}

对于.localized,请使用this String Extension

关于ios - 从应用程序内部更改应用程序语言后更改TabBar项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55467544/

相关文章:

ios - 将字符串(已格式化)转换为 NSDictionary 数组

ios - 电话间隙 HTML 应用程序可以与 ASP.NET MVC Web 服务器建立 session 吗

swift - 迄今为止的数字 - Swift

ios - 比链接代表更好的处理 xib 按钮按下的方法?

Python - 英语翻译器

iphone - 如何一次更改所有本地化的 Storyboard 文件?

wpf - 通过 XAML 在 WPF 中的 I18N 和 L10N

iphone - Xcode 4.3.2 中的 UINavigationController 存在问题?

iphone - 如果我将 UIImage 设置为背景 View ,UITableViewCell 旋转滞后/挂起

Swift Firebase 读取一个 child 的 child