我遇到的问题与此处描述的问题相同,没有解决方案:
How to remove the border/drop shadow from an UIImageView?
它似乎与QR本身的生成有关。当顶部透明的覆盖层可见时(如屏幕截图所示),该问题更加明显。如果我停留在同一屏幕上,问题会在一段时间后消失,但是如果我离开控制器并重新创建,问题会再次出现。
这是我生成QR的方式,但是我尝试了其他几种方法,但仍然遇到相同的问题。
CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
[filter setValue:qrDataToBeSet forKey:@"inputMessage"];
[filter setValue:@"L" forKey:@"inputCorrectionLevel"];
CIImage *qrCodeImage = [filter outputImage];
CGFloat scaleY = imgQR.frame.size.height/qrCodeImage.extent.size.height;
CGFloat scaleX = imgQR.frame.size.width/qrCodeImage.extent.size.width;
CIImage *transformedImage = [qrCodeImage imageByApplyingTransform:CGAffineTransformMakeScale(scaleX, scaleY)];
imgQR.image = [UIImage imageWithCIImage:transformedImage];