如何在分组的tableview单元格中控制图像的位置?

时间:2009-08-31 02:28:06

标签: iphone objective-c uitableview

出于某种原因,我似乎无法更改分组的tableview单元格中图像的默认位置。

在cellForRowAtIndexPath方法中,我使用以下内容加载图像:

cell.imageView.image = [UIImage imageWithContentsOfFile:MainImagePath];

我一直在尝试以下方法来调整图像的位置,但没有运气。

cell.contentMode = UIViewContentModeCenter;

我也试过这个没有运气。

cell.imageView.contentMode = UIViewContentModeCenter;

3 个答案:

答案 0 :(得分:2)

你能使用imageView的框架,即: cell.imageView.frame = CGFrameMake(0.0,0.0,20.0,20.0);

或用

设置imageView的中心

cell.imageView.center = CGPointMake(20.0,10.0);

=赛斯

编辑:谢谢乔纳,我解决了这个问题!

答案 1 :(得分:2)

UITableViewCell的默认布局是[imageView] [textLabel] [accessoryView]。你无法改变它。

如果您想在UITableViewCell中任意定位图像,则必须将UIImageView添加到单元格的contentView

答案 2 :(得分:1)

要移动imageView,您需要更改它的框架。您正在做的事情只是重新配置它如何响应查看大小调整。尝试将cell.imageView.center设置为您想要的新中心。

您应该了解tableView:willDisplayCell:forRowAtIndexPath:。这是在显示单元格之前立即调用的,并且是您建立布局的最后(也是最好的)机会。 tableView:cellForRowAtIndexPath:被更早地调用,其结果被缓存。因此,布局在实际显示时可能是错误的(例如,由于视图调整大小)。这就是我们通常在tableView:willDisplayCell:forRowAtIndexPath:进行布局的原因。