ios - iphone Gibt es bei der Verwendung von UIGraphicsGetCurrentContext in drawRect zum Zeichnen eines Rechtecks ​​einen Überschuss von 1 Pixel außerhalb des Randes?
我想大声告诉你
我想大声告诉你 2017-05-16 13:18:51
0
1
971

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.

我想大声告诉你
我想大声告诉你

Antworte allen(1)
刘奇

问题解决,两个rect的值应该都设置为int而不是float。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage