Der Code lautet wie folgt
-(void) drawRect:(CGRect)rect{
//CGContextRef context = UIGraphicsGetCurrentContext();
//CGContextSetRGBFillColor(context, 0.0, 0.0, 0.0, 0.2);
[[UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.2]setFill];
CGRect grayRect = self.frame;
UIRectFill(grayRect);
CGRect cropRect = _intersectionRect;
CGRect intersectionRect = CGRectIntersection(cropRect, grayRect);
[[UIColor clearColor]setFill];
UIRectFill(intersectionRect);
}
In der Demo des leeren Projekts ist alles in Ordnung
Aber in meinem eigenen Projekt gibt es zusätzliche 1 Pixel und Ränder mit unterschiedlicher Transparenz.
问题解决,两个rect的值应该都设置为int而不是float。