出于某种原因,我似乎无法更改分组的tableview单元格中图像的默认位置。
在cellForRowAtIndexPath方法中,我使用以下内容加载图像:
cell.imageView.image = [UIImage imageWithContentsOfFile:MainImagePath];
我一直在尝试以下方法来调整图像的位置,但没有运气。
cell.contentMode = UIViewContentModeCenter;
我也试过这个没有运气。
cell.imageView.contentMode = UIViewContentModeCenter;
答案 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:
进行布局的原因。