2013-12-22 62 views
0
改變圖像的大小

問題: 我使用下面的代碼的方法cellForRowAtIndexPath內部來設置小區中的圖像的大小,但在運行時,圖像被放大到最大高度和寬度表格行將允許。難度中的UITableViewCell

UIImage *_image = [imageDictionary objectForKey:@"image"]; // Get image data 
[_image drawInRect:CGRectMake(0,0,50,50)]; // set size 
[cell.imageView setImage: _image]; // assign image to cell 
cell.imageView.frame = CGRectMake(cell.imageView.frame.origin.x,cell.imageView.frame.origin.y,50,50); 

return cell; 

問題:是否有控制一個UITableViewCell圖像的尺寸的更強大的方法是什麼?我採取的方法來自其他幾個職位,但由於某種原因,我的代碼中被忽略。

附註:我正在使用Xcode 5並在iOS 7平臺上開發。

回答

1

使用UITableViewCell contentView

UITableViewCell對象的內容視圖是單元格顯示的內容的默認超級視圖。如果您想通過簡單添加附加視圖來自定義單元格,則應將其添加到內容視圖中,以便在單元格轉換爲編輯模式或轉換編輯模式時將它們定位爲。

例子:

UIImage *_image = [imageDictionary objectForKey:@"image"]; // Get image data 
[_image drawInRect:CGRectMake(0,0,50,50)]; // set size 

UIImageView *imageView = [[UIImageView alloc] initWithImage: _image]; 
[imageView setFrame:yourFrame]; 
[cell.contentView addSubview:imageView]; 
0

這不回答這個問題,但你的根本問題是你的方法。你應該通過繼承UITableViewCell來定製你的單元格。爲了補充說明,將單元格內容作爲視圖進行操作要比使用默認圖片和文本標籤更容易。爲了美化,單元格的內容位於一個名爲contentView的視圖中,該視圖以cell.contentView的形式訪問。您可以將文本標籤,按鈕和圖像作爲子視圖添加到任意大小的任意位置,您可以像添加爲子視圖一樣查看任何視圖。