Janela de redimensionamento do NSAlert
Eu tenho vários diálogos NSAlert com texto diferente. Quero ajustar a largura da janela de alerta ao texto, para que o texto não seja quebrado. Por isso, eu uso este código para calcular a largura da string:
NSSize size = [myString sizeWithAttributes:@{NSFontAttributeName: [NSFont systemFontOfSize:[NSFont systemFontSize]]}];
Então eu tento ajustar a janela do alerta:
NSAlert *alert = [NSAlert alertWithMessageText:...
...
NSPanel *panel = alert.window;
NSRect frame = panel.frame;
float x = ((NSTextField*)[[((NSPanel*)(alert.window)).contentView subviews] objectAtIndex:5]).frame.origin.x; //the x-position of the NSTextField
frame.size.width = size.width + x;
[alert.window setFrame:frame display:YES];
Este código funciona, mas pela primeira vez, eu chamo o método com este código. Se eu pegar outra string e chamar o método novamente, a janela não será redimensionada (embora a largura calculada seja diferenciada).
Alguma idéia, como eu posso redimensionar a janela do NSAlert?