4

我正在使用 NSLocalizedString 函数来更改 UIButton 的语言

reset.titleLabel.text=NSLocalizedString(@"Reset", nil);

我把这条线放在viewDiLoad, viewWillAppear, viewDidAppear, viewDidDisappearandviewWillDisappear

当视图加载时,文本的本地化版本出现,当我单击按钮时,文本变回故事板中按钮上的原始文本,然后在加载以下视图之前再次返回本地化语言(即使是titlelable也不会在这些阶段改变值!)

我看到其中一个解决方案是拥有 Storyboard 的本地化版本,但我不想这样做,因为我必须维护所有本地化版本......还有其他解决方案吗?

4

1 回答 1

11

我建议使用-setTitle:forState:更改标题。通过手动更改titleLabel.text,您应该期望文本偶尔会被重置。大多数文档示例只显示操作字体大小等而不是内容,这是因为titleLabel设置currentTitle 为图像缓存已适当更新。

[reset setTitle: NSLocalizedString( @"Reset", nil) forState: UIControlStateNormal];

只要没有明确设置其他状态,这将用于所有状态。如果要更改不同状态的标题,请使用其他状态内容之一。

于 2012-06-05T02:11:09.580 回答