2011-05-09 55 views
0

我有一個自定義的表格視圖單元格,其中包含3個標籤和一個imageView。我正在使用表視圖單元格填充表視圖。在表視圖實現中,我定義了我希望在每個表視圖單元格中顯示的內容。標籤工作正常,但圖像沒有。我在做UIImageView裏面自定義表格視圖單元

[[cell subject] setText:subject]; 
... 
[[cell imageView] setImage:[UIImage imageNamed:@"full_path"]]; 

「主題」是一個標籤,它工作正常。但圖像並未出現在表格視圖中。關於我失蹤的任何想法?

感謝, 阿德里安娜

問題解決了:在表格視圖單元格我忘到引用插座添加到圖像視圖:(

+0

您的項目中是否包含名爲「full_path」的圖像?簡單的監督,但有時會發生。 – 2011-05-09 14:46:35

+0

你可以發佈你的cellForRowAtIndexPath:代碼嗎? – Dancreek 2011-05-09 15:46:36

回答

0

我會檢查以下內容: *確保在單元格創建完成後初始化單元格值(viewDidLoad) *如果您使用IB,請確保圖像已連接。

1

當你使用:

[UIImage imageNamed:@""]; 

你不如果他在您的包中,則不需要放置完整路徑,而只需要文件名。

[UIImage imageNamed:@"myPict.png"]; 

如果你的形象是不是在你的主束使用(或總,如果你想):

[UIImage imageWithContentsOfFile:@"full_path"]; 
+1

這個答案是正確的,但在選擇「imageNamed:」與「imageWithContentsOfFile:」時還有其他一些事情需要考慮。 「imageNamed:」將圖像緩存在內存中以便稍後快速訪問。如果你一遍又一遍地使用相同的圖像,這是一條路。但是如果它是一個大的圖像或者它沒有被重複使用,你應該使用「imageWithContentsOfFile:」,它每次從頭開始加載並且不會停滯記憶。 – Dancreek 2011-05-09 15:05:12

+0

謝謝你的澄清 – TheRonin 2011-05-09 15:11:03

+0

我嘗試了你提到的,但我仍然沒有得到圖像。如果我在imageView的屬性檢查器中將自己的文件名寫入自定義視圖單元格中,我可以獲取該圖像,但是我希望以編程方式從表視圖類中執行此操作,因爲我不想顯示圖像在每個細胞中。 – Adriana 2011-05-09 15:15:04

2

我認爲的UITableViewCell對象點到已定義的屬性imageView財產,通過適當的對象處理。 我通常所做的是通過Interface Builder創建自定義單元格視圖,將每個單獨的組件分配給我希望能夠引用不同的標籤(即使這可以在IB中完成)。然後在代碼中你可以使用這段代碼:

UIImageView *img = (UIImageView *)[cell viewWithTag:yourTag]; 
img.image = [UIImage imageNamed:@"full_path"]; 

這樣,您就可以使用不同分量的自定義數字,每一個不同的標籤號碼。

希望這會有所幫助。

+1

注意 - UITableViewCell對象的ImageView屬性不是私有屬性。 [參考文檔](http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewCell_Class/Reference/Reference.html) – TheRonin 2011-05-09 14:54:12

+0

你說得對,我在寫答案時寫錯了。我想說的是'imageView'屬性已經存在,並且可能與她想要控制的「重疊」。 – marzapower 2011-05-09 14:59:09

+0

不,問題是所謂的方法。我有一個答案。 – TheRonin 2011-05-09 15:00:53

相關問題