Nswindow TitleBar fica branco ao redimensionar
-
26-09-2019 - |
Pergunta
Estou redimensionando programaticamente meu NSWIDOW contendo um NSOPENGLVIEW. A janela redimensiona, o NSOPENglView está lidando com a multa de redimensionamento, mas a barra de título da NSWIDOW fica completamente branco. No entanto, os botões (minimize, ...) podem ser clicados, você também não pode vê -los.
O redimensionamento ocorre usando o seguinte código no controlador do Windows. O método é chamado no encadeamento principal.
-(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];
}
}
Qual poderia ser o motivo de que a barra de título fica branca e não se puxa novamente? Você pode dizer à barra de título para se desenhar como uma solução alternativa?
obrigada
Solução
Parece que você tornou seu OpenGlView muito grande. Quando você envia [self titleBarHeight]
, o que é self
? Este código está em uma subclasse de janela ou outra coisa?