表格视图中有几个可重复使用的单元格包含UIButtons。每个UIButton都有两个状态的两个图像。 为了实现本地化,在UITableViewCell中 - > initWithCoder:(NSCoder *)aDecoder,我编写了以下用于本地化图像名称的行。
[self.button setBackgroundImage:[UIImage imageNamed:NSLocalizedString(@"buttonStateSelected", @"")] forState:UIControlStateSelected];
[self.button setBackgroundImage:[UIImage imageNamed:NSLocalizedString(@"buttonStateNormal", @"")] forState:UIControlStateNormal];
[self.button setNeedsDisplay];
[self.button setImage:[UIImage imageNamed:NSLocalizedString(@"buttonStateSelected", @"")] forState:UIControlStateSelected];
[self.button setImage:[UIImage imageNamed:NSLocalizedString(@"buttonStateNormal", @"")] forState:UIControlStateNormal];
[self.button setNeedsDisplay];
我可以看到图像名称是由NSLocalizedString()本地化的,但在模拟器和iOS设备上,按钮没有变化。
我尝试过其他类似的问题'答案,他们都没有工作
我试过[button setImage:forState:],它没有用。
我做了setNeedsDisplay,没有希望
我甚至给出了一些错误的图像名称,按钮仍然是原始的故事板图像。
为什么我无法实时更改按钮的图像和backgroundImage?有没有解决方案?