ios - iphone Lors de l'utilisation de UIGraphicsGetCurrentContext dans drawRect pour dessiner un rectangle, y a-t-il un excès de 1 pixel à l'extérieur de la bordure ?
我想大声告诉你
我想大声告诉你 2017-05-16 13:18:51
0
1
972

Le code est le suivant

-(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);
}

Dans la démo du projet blank, tout va bien

Mais dans mon propre projet, il y a 1px supplémentaire et des bordures avec une transparence différente. Comment résoudre ce problème ?

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

répondre à tous(1)
刘奇

Problème résolu, les valeurs des deux rects doivent être définies sur int au lieu de float.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal