2014-01-23 45 views
0

當資產名稱包含像åäö這樣的字符時,我在xcassets目錄中提取圖像時出現了一些問題。從xcassets獲取圖片,語言/加密錯誤?

問題是我設置了從特定NSString指定的按鈕圖像。只可惜沒有AAO按鈕加載按鈕圖像:

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

你能加載沒有特殊字符的圖像嗎? –

+0

不幸的不是。解決它的最簡單方法是更改​​名稱以避免這些字符,但應用程序的構建方式,我需要這些字符...它在Xcode 4(沒有xcassets),我創建應用程序,但資產似乎是處理大量圖像的好方法,而且我已經有500多個。 – mammaMia

回答

1

所以看起來,該字符串必須分解之前設置圖像的名稱包含åäö。工作得很好,如果我以後設置圖像:

[temp decomposedStringWithCompatibilityMapping]  
[button setImage:[UIImage imageNamed:temp] forState:UIControlStateNormal]; //loaded 

參見:https://developer.apple.com/library/mac/qa/qa1235/_index.html獲取更多信息。