0

我想在 .xib 将要显示时获取每个控件,例如 UIButton/UILabel/UITextField。而且我知道我可以在 awakefromnib 中做到这一点,但是我怎样才能自动再次调用 awakefromnib。谢谢!

实际上,我的目标是在不遵循 iPad/Iphone 设置语言的情况下本地化 .xib。我使用https://github.com/AliSoftware/OHAutoNIBi18n进行本地化。希望有人能给我一个建议。再次感谢!

4

1 回答 1

0

为什么要从 nib 重新调用 awake?

在启动应用程序类之前,您可以通过在 UserDefaults 中设置 @"AppleLanguages" 来强制更改应用程序语言。例如,您可以在 AppDelegate 中覆盖 +(void)initialize 方法。

    [[NSUserDefaults standardUserDefaults] setObject:@[@"en", @"fr"] forKey:@"AppleLanguages"];
    [[NSUserDefaults standardUserDefaults] synchronize];

方法12不清楚,但它有效。

您也可以使用自定义本地化子系统(重新定义“NSLocalizedString ...”)。

于 2014-09-02T05:22:55.433 回答