Okno zmiany rozmiaru NSAlert

Mam kilka okien dialogowych NSAlert z innym tekstem. Chcę dostosować szerokość okna alertu do tekstu, aby tekst nie zawijał się. Dlatego używam tego kodu do obliczenia szerokości ciągu:

NSSize size = [myString sizeWithAttributes:@{NSFontAttributeName: [NSFont systemFontOfSize:[NSFont systemFontSize]]}];

Następnie próbuję dostosować okno alertu:

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];

Ten kod działa, ale po raz pierwszy nazywam metodę tym kodem. Jeśli wezmę kolejny ciąg i wywołam metodę ponownie, okno nie zmieni rozmiaru (chociaż obliczona szerokość jest zróżnicowana).

Jakieś pomysły, w jaki sposób mogę zmienić rozmiar okna NSAlert?

questionAnswers(1)

yourAnswerToTheQuestion