suchen

Heim  >  Fragen und Antworten  >  Hauptteil

ios - iphone Gibt es bei der Verwendung von UIGraphicsGetCurrentContext in drawRect zum Zeichnen eines Rechtecks ​​einen Überschuss von 1 Pixel außerhalb des Randes?

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.

我想大声告诉你我想大声告诉你2789 Tage vor1008

Antworte allen(1)Ich werde antworten

  • 怪我咯

    怪我咯2017-05-16 13:20:51

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

    Antwort
    0
  • StornierenAntwort