2010-06-18 3 views
0

У меня есть NSView (мы будем называть его view1), который является NSViewController. Вид Super (который мы будем называть view2) находится внутри NSWindowController. Проблема в том, что я могу добавить view1 в view2, но я не могу его удалить.NSView, не удаляющийся из супервизора

+0

Почему нет? Что вы пробовали? – 2010-06-18 23:39:24

+0

'[class.view removeFromSuperView];' и помещать 'removeFromSuperView' в класс контроллера фактического представления и вызывать метод из класса windowctrler –

+0

Нет, супервизор либо находится в другом представлении, либо представляет собой представление содержимого его окна , NSWindowController не имеет значения. Что возвращает '[class.view superiew]' после 'removeFromSuperview'? Как вы добавляете представление в супервизор? –

ответ

2

Из вашего комментария я бы предположил, что одна из ваших переменных экземпляра в контроллере представления или само представление не установлена ​​правильно, поэтому вы вызываете removeFromSuperView на ноль. Используйте отладчик, чтобы явно увидеть состояние задействованных объектов.

+0

вид не равен нулю, прежде чем я назову 'removeFromSuperview' но после того, как я вызываю remove, он равен нулю, но сам вид не удаляется. –

+0

Matt S .: Проверьте 'view' (супервизор). Вероятно, это «ноль». –

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