ios / objective-c:configureCellAtIndexPath:将图像放在错误的位置

时间:2015-12-01 20:09:29

标签: ios cell

我有一个使用cellForRowAtIndexPath填充单元格的tableview。但是,当更改行时,委托方法可能会调用configureCellAtIndexPath,以便只更改一个单元格。

当我更改单元格的照片时,configureCellAtIndexPath不是将其放在表格行最左侧的正确位置,而是将其放在右侧,也不会正确裁剪。当用户向上或向下滚动时,图像会更正,大概是因为cellForRowAtIndexPath正在设置事物。

我的问题是为什么configureCellatIndexPath将照片放在错误的位置?

以下是问题的视觉效果:  

以下是我的代码(可能包含一些冗余,但对于cellForRowAtIndexPathconfigureCell都是相同的):

cell.imageView.image = chosenImage;
cell.imageView.contentMode = UIViewContentModeScaleAspectFit;
CGSize itemSize = CGSizeMake(40, 40);
UIGraphicsBeginImageContextWithOptions(itemSize, NO, UIScreen.mainScreen.scale);
CGRect imageRect = CGRectMake(0.0, 0.0, itemSize.width, itemSize.height);
[cell.imageView.image drawInRect:imageRect];
cell.imageView.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
cell.imageView.layer.masksToBounds=YES;
cell.imageView.layer.cornerRadius=20.0;
cell.imageView.frame = CGRectMake(20, 20, 500, 50);

0 个答案:

没有答案