2009-05-03 2 views
4

Проблема в том, что когда окно настроек открывается и затем закрывается, оно не открывается снова. Почему это происходит и как это можно зафиксировать?Проблема с окнами настроек (после открытия и закрытия, не откроется снова)

РЕДАКТИРОВАТЬ: Просто заметил, что у меня такая же проблема с Главным окном.

Окно открывается через панель меню и находится в отдельном файле NIB.

+1

Вам необходимо предоставить дополнительную информацию. Как открывается окно? Освобождается ли он при закрытии? Является ли это своим собственным плющом? –

+1

Еще нужна дополнительная информация. Какое действие вызывает вызов menuitem? Цепочка вашего ответчика цела, или вы делаете что-то странное с ней? Вы что-то не так с управлением памятью в отношении окон? У вас есть пользовательские оконные контроллеры? Когда вы говорите, что у вас такая же проблема с Главным окном, что это значит? Вы закрываете главное окно, и оно не открывается снова, чего вы ожидаете? У вас есть оконный контроллер для окна настроек, если да, то на что это похоже? Я могу продолжать идти, пожалуйста, предоставьте полезную информацию, если вы хотите получить полезный ответ. – Evan

+0

В основном это просто нормальное окно, ничего не обычное. Элемент меню вызывает действие, чтобы отобразить панель «Настройки», код, который я использовал для этого, был из книги «Программирование какао» для mac os x. – Joshua

ответ

8

Похоже, вы забыли установить «оконную» розетку вашего оконного контроллера (в Nib, владелец файла), чтобы указать на ваше окно. Как только вы подключите его «окно», будет работать режим showWindow:

3

Трудно сказать, не видя кода, но одна из возможностей заключается в том, что у вас есть «Release When Closed», который проверяется для окна в Interface Builder, и вы загружаете его один раз, кешируете его, а затем ожидаете, что сможете закрыть и снова откройте его, не загружая из ниба снова.

+0

Я снял флажок «Освобождение при закрытии», но ничего не изменил. – Joshua

1

Я столкнулся с этой же проблемой во время работы над главами 12 (файлы Nib и NSWindowController) в программе Cocoa Programming Aaron Hillegass для Mac OS X. Ответ Дуга выше был решением - я не связал выход окна владельца файла Preferences.xib в самое окно (в этом случае окно Panel (Preferences)).

Я щелкнул правой кнопкой мыши на «Владелец файла» в файле Preferences.xib, а затем вытащил левую кнопку мыши из окна «Окно» в панель (Предпочтения). После выполнения и перестройки приложение работало по назначению. Я мог закрыть и снова открыть панель пользовательских настроек, и мои предыдущие настройки все еще были там (так как окно настроек не разгружено просто скрыто).

2

Для любых других нубов как я, с этим вопросом :)

Не забудьте установить класс владельца файла, чтобы быть таким же, как и класс контроллера, то вы можете подключить «окно» выход к панель.

Смежные вопросы