如何将UIImageView放置在UITableViewCell中,而不管方向如何?

问题描述:

我试图居中UIImageView的宽度方向的一个UITableViewCell用下面的代码:如何将UIImageView放置在UITableViewCell中,而不管方向如何?

 // self.cover_image is a UIImage variable 
     // cell is a UITableCellView 

     UIImageView* backcover_imageview = [[[UIImageView alloc] initWithImage:self.cover_image] autorelease]; 
     [backcover_imageview sizeToFit]; 

     //center image 
     //float xPos = cell.contentView.frame.size.width - (self.cover_image.size.width/2); 

     //TODO: need better solution 
     //Eyeballing attempt: 
     float xPos = self.cover_image.size.width - 25; 
     CGRect bookcover_frame = backcover_imageview.frame; 
     bookcover_frame.origin.x = xPos; 
     backcover_imageview.frame = bookcover_frame; 
     backcover_imageview.tag = 9000; 
     backcover_imageview.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin; 

     [cell.contentView addSubview:backcover_imageview]; 

我试图居中的UIImageView在UITableCellView不管iPad或iPhone设备处于什么方位有谁知道正确的方法来做到这一点?

添加backcover_imageView到小区的contentView后,用此来居中:

imageView.center = CGPointMake(cell.contentView.bounds.size.width/2,cell.contentView.bounds.size.height/2); 
+1

我选择了'backcover_imageview.center = CGPointMake(cell.contentView.bounds.size.width/2,backcover_imageview.center.y);'为我工作。感谢您的建议! – 2011-06-17 18:13:27

你可以尝试指定单元格的中心属性为图像视图的属性吗?

像这样的事情

imageView.center = cell.center; 

然后将其添加到单元格。

我增加了两个自动尺寸口罩和使用您的代码和PengOne的回答得到了一个不错的结果:

playImage.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin; 
[cell.contentView addSubview:playImage]; 
playImage.center = CGPointMake(cell.contentView.bounds.size.width/2,cell.contentView.bounds.size.height/2); 
+0

这对我来说非常合适。 – newenglander 2013-05-16 14:04:26

+0

你为我节省了好几个小时!非常感谢! – Septronic 2015-11-16 09:00:55