2011-05-03 92 views

回答

120
cell.imageView.image = [UIImage imageNamed:@"image.png"]; 

UPDATE: 像史蒂芬費舍爾表示,這應該只是爲了與風格UITableViewCellStyleDefault這是默認的風格細胞起作用。對於其他樣式,您需要將UIImageView添加到單元格的contentView。

+2

如果你的單元格的UITableviewCellStyle屬性錯誤,它不會有'imageView',所以你將無法以這種方式設置圖像。我認爲只有'UITableViewCellStyleDefault'支持這種方式的圖像;否則,您需要添加自己的圖像視圖(請參閱Aman的答案)。 – 2012-02-07 23:34:53

+0

其實如果你使用的是自定義單元格,你不應該像Aman那樣做 - 你應該添加視圖到cell.contentView,而不是直接添加到單元格。 – 2012-02-07 23:36:31

+0

但關於單元格樣式,你是對的,只有默認單元格支持imageView - https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UITableViewCell_Class/Reference/Reference.html#//apple_ref/c/econst/UITableViewCellStyleDefault – 2012-02-07 23:37:51

20

試試這個代碼: -

UIImageView *imv = [[UIImageView alloc]initWithFrame:CGRectMake(3,2, 20, 25)]; 
imv.image=[UIImage imageNamed:@"arrow2.png"]; 
[cell addSubview:imv]; 
[imv release]; 
+0

把上面的代碼裏面的方法 - (的UITableViewCell *)的tableView:(UITableView的*)的tableView \t \t的cellForRowAtIndexPath:(NSIndexPath *)indexPath { – 2011-05-03 12:56:58

+0

代替直接加入到細胞使用的[cell.contentView addSubview:IMV]; – 2014-10-31 06:21:18

13

標準的UITableViewCell已經包含了UIImageView,如果它的圖像被設置,它會出現在所有標籤的左邊。您可以使用ImageView的屬性來訪問它:

cell.imageView.image = someImage; 

如果由於某種原因,標準行爲不適合您的需要(請注意,您可以自定義標準圖像視圖屬性),那麼你可以將自己的UIImageView添加到小區阿曼在回答中建議。但是在這種方法中,您必須自己管理單元格的佈局(例如,確保單元格標籤不會與圖像重疊)。而且不添加子視圖直接的細胞 - 它們添加到單元格的內容查看:

// DO NOT! 
[cell addSubview:imv]; 
// DO: 
[cell.contentView addSubview:imv]; 
5

對於我的同胞SWIFT用戶,這裏是你需要的代碼:

let imageName = "un-child-rights.jpg" 
let image = UIImage(named: imageName) 
cell.imageView!.image = image 
相關問題