choses diverses, y compris (peut-être surtout) la fenêtre de perdre son statut de principal et d'être ramené au point, la cause certains de mes vues personnalisées pour développer le rendu glitches jusqu'à ce que je fais quelque chose (comme redimensionner la fenêtre) pour que ces vues personnalisées soient redessinées. Je suppose que cela est dû à une sorte de bogue de mise en cache dans AppKit, et je suis sûr que je ne suis pas le seul à avoir ce comportement, alors quelqu'un sait-il comment contourner ce problème?dessin de cacao pépins lorsque la fenêtre perd alors regagne le statut principal
Voici un exemple:
Notez la ligne bizarre sombre à gauche de l'arrière-plan de la vue? Ceci est dessiné même sans les sous-vues dans la vue. J'ai d'autres bugs similaires dans certaines de mes autres vues.
Voici le code qui fait le dessin:
void EDDrawGlossEffectInRect(NSRect dirtyRect) {
NSRect topRect, bottomRect;
NSDivideRect(dirtyRect, &topRect, &bottomRect, (dirtyRect.size.height/2), NSMaxYEdge);
[EDLightChromeColor set];
NSRectFill(topRect);
[EDMidChromeColor set];
NSRectFill(bottomRect);
}
et
-(void)drawRect:(NSRect)dirtyRect {
EDDrawGlossEffectInRect(dirtyRect);
NSBezierPath *path = [NSBezierPath bezierPath];
[path setLineWidth:1.0];
NSPoint startPoint = {0, dirtyRect.size.height};
NSPoint endPoint = {dirtyRect.size.width, dirtyRect.size.height};
[path moveToPoint:startPoint];
[path lineToPoint:endPoint];
[[NSColor colorWithCalibratedWhite:0.7 alpha:1] set];
[path stroke];
}
La vue est créée programatically, pas avec Interface Builder, que je ne suis pas en utilisant pour ce projet.
Je suis tout à ne pas se rendre compte que, et il est logique que je suppose que si vous avez une grande vue qui est recadrée/clipsé etc. Dessin d'un fragment de ce point de vue simple serait douloureux et probablement plus INGÉNIERIE donc je viens de changer de dessinez les limites entières et vous avez raison, le bug a disparu. Je vous remercie. – d11wtq
Si le dessin devient un point d'accès lorsque vous profilez votre application à l'aide d'Instruments, vous souhaiterez peut-être y revenir. Jusque-là, je ne m'inquiéterais pas d'une optimisation prématurée de cette méthode. Vous êtes les bienvenus. –