Domanda

Sto programatically ridimensionamento mio NSWindow che contiene un NSOpenGLView . Le ridimensiona finestra, il NSOpenGLView sta gestendo la multa ridimensionamento, ma la barra del titolo della NSWindow diventa completamente bianco . Tuttavia i tasti (minimizzano, ...) può essere cliccato, anche non si può vederli.

Il ridimensionamento si verifica utilizzando il seguente codice nel controller di Windows. Il metodo è chiamato sul thread principale.

-(void)setHeightAndWithToWindow:(NSArray*)heightWidth{
    int width = [(NSNumber*)[heightWidth objectAtIndex:0] intValue];
    int height = [(NSNumber*)[heightWidth objectAtIndex:1] intValue];
    NSRect rect = NSMakeRect(0, 0, width ,height);
    if([window frame].size.height != (rect.size.height - [self titleBarHeight]) ||
        [window frame].size.width != rect.size.width){ 
        [window setFrame:rect display:false animate:true];
    }
}

Quale potrebbe essere la ragione, che la barra del titolo diventa bianco e non disegnare per sé di nuovo? Si può dire la barra del titolo per disegnare se stesso come una soluzione?

Grazie

È stato utile?

Soluzione

Sembra che si fatto il tuo OpenGLView troppo grande. Quando si invia [self titleBarHeight], che cosa è self? È questo il codice in una sottoclasse finestra o qualcos'altro?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top