У меня есть NIB, который содержит два окна, одно из которых - главное окно приложения, видимое при запуске, а другое - пользовательский лист (и поэтому не отображается при запуске). Когда лист требуется мой контроллер вызовов:Почему мой лист не прикреплен к окну, за которым он запускается?
[NSApp beginSheet: sheetWindow modalForWindow: mainWindow modalDelegate: self didEndSelector: @selector(didEndSheet:returnCode:contextInfo:) contextInfo: nil];
, который отображает окно листа и начинает модальный сеанс, но окно имеет стандартную аква строку заголовка, не «подключен» к главному окну и его можно перемещать так же, как в обычном окне. Излишне говорить, что это нежелательно :-). Почему окно окна не «выскочит» из окна, за которым он запускается, поскольку листы обычно делают, когда начинаются таким образом?
Я задался вопросом, может ли эффект, который я начал листать в контроллере -awakeFromNib
, мог повлиять, поэтому я переместил лист на действие кнопки, которое я мог бы запустить позже. Это не изменило поведения. Я не думал ни о чем другом. Я нацелен на 10.5 SDK, используя Xcode 3.1.
Редактировать: поэтому похоже, что я создал модальный диалог; листы и диалоговые окна приложения начинаются с метода -beginSheet:modalForWindow:modalDelegate:didEndSelector:contextInfo:
. Но как я могу указать, что мое окно должно быть листом и не модальный диалог?
Проверьте, что mainWindow не равен нулю. –
Я не вижу ничего плохого в этом, может быть, какой-то контекст может помочь. –
Вы должны ответить на этот вопрос, Натан. Это почти наверняка правильно. – Chuck