重新加载UITableView后丢失UIImage的抗锯齿功能

时间:2015-12-23 14:29:26

标签: ios objective-c uitableview uiimage

我有这段代码:

UIImage *myImage = [UIImage imageNamed:@"route-manually-add@3x.png"];

UIImageView *imageView = [[[UIImageView alloc] initWithFrame:CGRectMake(8,7, myImage.size.width, myImage.size.height)] autorelease];

CGContextRef context = UIGraphicsGetCurrentContext();    
CGContextSetAllowsAntialiasing(context, true);
CGContextSetShouldAntialias(context, true);
CGContextSetInterpolationQuality(context, kCGInterpolationHigh);

[imageView.layer setMinificationFilter:kCAFilterTrilinear];
[imageView.layer setAllowsEdgeAntialiasing:YES];
CGRect imageRect = CGRectMake(0, 0, imageView.bounds.size.width, imageView.bounds.size.height);
UIGraphicsBeginImageContextWithOptions(imageRect.size, NO, [UIScreen mainScreen].scale);
[imageView.layer renderInContext:UIGraphicsGetCurrentContext()];
[myImage drawInRect : CGRectMake (0,0, imageView.bounds.size.width, imageView.bounds.size.height)];
myImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[imageView setImage:myImage];
imageView.layer.shouldRasterize=YES;
imageView.layer.edgeAntialiasingMask = kCALayerLeftEdge | kCALayerRightEdge | kCALayerBottomEdge | kCALayerTopEdge;
imageView.clipsToBounds=NO;
imageView.layer.masksToBounds=NO;
[mycell.contentView addSubview:imageView];

我正在使用它来消除图像中发生的失真,并且它第一次有效,但是当我重新加载TableView时,它就会失去抗锯齿效果。

仅供参考:此图像被添加到UITableViewCell类型的单元格中。 请帮帮我。

enter image description here

enter image description here

0 个答案:

没有答案