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?

questionAnswers(1)

yourAnswerToTheQuestion