Mam NIB, który zawiera dwa okna, jeden jest głównym oknem aplikacji widocznym przy uruchomieniu, a drugi jest niestandardowym arkuszem (a zatem niewidoczny przy uruchomieniu). Gdy arkusz jest wymagane moje telefony Kontroler:Dlaczego mój arkusz nie jest dołączony do okna, dla którego jest uruchamiany?
[NSApp beginSheet: sheetWindow modalForWindow: mainWindow modalDelegate: self didEndSelector: @selector(didEndSheet:returnCode:contextInfo:) contextInfo: nil];
który wyświetla okno arkusza i rozpoczyna sesję modalne, ale okno posiada standardowy pasek tytułowy Aqua, nie jest „podłączony” do głównego okna i można go przenosić tak jak zwykłe okno. Nie trzeba dodawać, że nie jest to pożądane :-). Dlaczego okno arkusza nie "wyskakuje" z okna, dla którego jest uruchamiane, jak zwykle robią to arkusze, gdy zaczynają się w ten sposób?
Zastanawiałem się, czy fakt, że zaczynałem arkusz w kontrolerze -awakeFromNib
może mieć efekt, więc przesunąłem arkusz do działania przycisku, który mógłbym wywołać później. To nie zmieniło zachowania. Nie pomyślałem o niczym innym, by spróbować. Celuję w SDK 10.5, używając Xcode 3.1.
Edytuj: więc wygląda na to, że utworzyłem modalne okno dialogowe; Arkusze i okna dialogowe aplikacji modalnych zaczynają się od metody -beginSheet:modalForWindow:modalDelegate:didEndSelector:contextInfo:
. Ale w jaki sposób mogę wskazać, że moje okno powinno być arkuszem, a okno dialogowe modalne?
Sprawdź, czy mainWindow nie jest zerowe. –
Nie widzę w tym nic złego, może jakiś kontekst może pomóc. –
Powinieneś odpowiedzieć, Nathan. Prawie na pewno jest dobrze. – Chuck