当资产名称包含像åäö这样的字符时,我在xcassets目录中获取图像时遇到了一些问题。
问题是我正在设置从特定NSString指定的按钮图像。不幸的是,只有没有åäö的按钮被加载为按钮图像:
NSString *temp = @"bondgård_icon_open";
[button setImage:[UIImage imageNamed:temp] forState:UIControlStateNormal]; //never loaded
NSString *temp2 = @"djungel_icon_open";
[button setImage:[UIImage imageNamed:temp2] forState:UIControlStateNormal]; //loaded
我搜索了论坛,但未找到任何有类似问题的人。我错过了什么?
是否有地方可以设置资产名称的编码?我已经检查了资产的JSON文件是UTF-8,所以看起来没问题。
答案 0 :(得分:1)
因此,在使用包含åäö的名称设置图像之前,似乎必须分解字符串。如果我在之后设置图像,则工作正常:
[temp decomposedStringWithCompatibilityMapping]
[button setImage:[UIImage imageNamed:temp] forState:UIControlStateNormal]; //loaded
有关详细信息,请参阅:https://developer.apple.com/library/mac/qa/qa1235/_index.html。