2010-09-06 73 views
1

如果我在我的資源中放置image.png文件,iphone將能夠讀取它。如果我將image.png文件放在iphone文檔文件夾中,它不會讀取?從文檔文件夾中讀取圖像

我將圖像從我的服務器上發送到文檔文件夾中。沒有問題。

我以爲iPhone會自動找到圖像文件在資源文件夾或文檔文件夾?

我沒有爲我的應用程序編寫任何代碼來找到我的圖像的文件夾,只是通過它的文件名稱來調用它,這是正確的。

有什麼想法?

THKS

// Get path to doc folder 
NSArray *docpaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [docpaths objectAtIndex:0]; 
NSString *docpath = [documentsDirectory stringByAppendingPathComponent:@"Data.plist"];  
self.data = [NSArray arrayWithContentsOfFile:docpath]; 

加載完成從doc文件夾中的plist。

現在我去plist,獲取文件名並顯示單元格。

NSDictionary *dataItem = [data objectAtIndex:indexPath.row]; 
cell.icon = [UIImage imageNamed:[dataItem objectForKey:@"Icon"]]; 

如何指定圖像位於我的文檔文件夾中?

+0

如果你想擁有iPhone的自動發現圖像用作家庭頁/書籤圖標,將圖像中的文檔根目錄名爲'蘋果觸摸icon.png'或'蘋果觸摸圖標precomposed.png'。如果它是用於網頁本身的圖像,請顯示您的代碼。 – 2010-09-06 16:19:51

+0

我使用圖像作爲圖標,表格單元格。從資源文件夾加載是好的。奇怪的是,1設法更新圖像1次而不是它。我刪除文檔文件夾中的所有圖像,再次發送,它不起作用。要添加,我的圖像文件名作爲字符串放在plist中。 plist是從服務器與圖像一起發送的。我檢查了所有正確收到的文件。 – Stefan 2010-09-06 16:22:29

回答

5

您可以使用imageWithContentsOfFile從文件創建UIImage。但是,如果文件夾位於文檔文件夾中,則只能指定文件名,否則無法讀取該文件。您需要獲取文件的路徑。檢查this answer以瞭解如何獲取文檔文件夾的文件路徑。

- 編輯
如果您的plist包含文檔文件夾中的文件名,那麼將plist的文件名附加到文檔文件夾路徑以獲取完整路徑。希望能幫助到你。

 
NSArray *docpaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [docpaths objectAtIndex:0]; 
NSDictionary *dataItem = [data objectAtIndex:indexPath.row]; 
NSString *imagePath = [documentsDirectory stringByAppendingPathComponent:[dataItem objectForKey:@"Icon"]]; 
cell.icon = [UIImage imageWithContentsOfFile:imagePath]; 
+0

hm ..我不能在代碼中寫入確切的文件名稱,因爲它發生了變化。任何建議? – Stefan 2010-09-06 16:39:31

+0

當你從服務器獲取文件後將文件寫入文件夾時,你顯然知道這個名字。對?你需要在某個地方保存名字(可能在一個變量中)然後使用它。 – taskinoor 2010-09-06 16:43:47

+0

檢查編輯。 – taskinoor 2010-09-06 16:47:03