Удаление представления из подпредставления не вызывает willRemoveSubview

У меня есть управляющий контроллер представления, который включает один из набора ранее выделенных контроллеров вспомогательного представления, когда пользователь выбирает пункт меню.

Когда я включаю контроллер представления, я подключаю представление управляющего контроллера представления к представлению в контроллере вспомогательного представления.

[mvc.view addSubview: subvc.view];

Кажется, все работает нормально.

Тем не менее, при удалении этого вида контроллера подчиненного представления из иерархии представлений с помощью (например, при переключении страниц в приложении):

[subvc.view removeFromSuperview];

  • метод willRemoveSubview в пользовательском классе представления никогда не срабатывает. Я подтвердил, что когда я выполняю вызов removeFromSuperview, я вызываю его в экземпляре моего пользовательского класса представления.

Другие методы в моем пользовательском классе представления, хотя, например, viewWillMoveToWindow.

Справочный документ NSView говорит, что этот метод должен быть вызван?

Кто-нибудь может подсказать, почему это не работает?

Я работаю на 10.8.2 компиляции для 10.7 с Xcode 4.5.2

Спасибо

Даррен.

1 ответ

Решение

willRemoveSubview:как следует из названия, вызывается в суперпредставлении, а не удаляемом подпредставлении.

Другие вопросы по тегам