2012-06-07 2 views
1

настоящее время я использую это, если Постулаты, чтобы проверить, если загружена UIView, это если Постулаты отлично работает ..как разгрузить UIView

if (!myviewName.isViewLoaded) { 
     //not loaded so load my view 

    } 
    else (myviewName.isViewLoaded){ 
     //is loaded so remove my view (unload) 

    } 

Однако при попытке удалить представление я не думаю, что я делать это правильно, потому что я никогда не может войти в первую часть, что если заявление после того, как в первый раз загружается вид ...

это код внутри еще (myviewName.isViewLoaded) {

[myviewName removeFromParentViewController]; 
    [animatedActionView removeFromSuperview]; 

причина я использую removeFromParentViewController происходит потому, что я добавил myviewName как подвид из animatedActionView, как так

[animatedActionView addSubview:b1VC.view]; 
[navigationController.view insertSubview:animatedActionView belowSubview:tabbarView]; 

animatedActionView добавляется как подвид к моему navigationcontroller и я помещаю его за моей tabbarview который также подвид на моем navigationcontroller ..

надеюсь, все это имеет смысл .. Просто повторить мой вопрос, как я удалить вид, так что он будет иметь доступ если (! myviewName.isViewLoaded) { правильно ,

anyhelp оценен.

ОБНОВЛЕНИЕ: В ответ на вопрос я попросил объяснить, что я пытаюсь сделать более подробно, что я буду делать здесь.

Итак, в моем первоначальном проекте есть NavController, который контролирует все виды, которые мне нужны для первой части моего проекта (запрос к db), вторая часть моего проекта отображает тонну или данные.

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

Итак, когда я добираюсь до конечного вида моего navController, я загружаю в него другой navController. (будет ли это отклонено?)

Этот (вспомогательный) navController, который я назову как otherNav, будет контролировать окончательный вид, он загрузит несколько разных detailViewController со специальной анимацией скольжения, которую пользователь сможет сдвинуть слева и справа между подробными экранами.

Я также добавил tabBar (в своем собственном viewcontroller) в качестве подчиненного объекта othernav, когда пользователь переходит между подробными представлениями, я планирую изменить значки tabBar в зависимости от вида, поэтому, когда пользователь переходит с одного подробного представления к другому, тогда предыдущие значки будут исчезать, а новые значки будут исчезать.

Наконец, у меня есть несколько других контроллеров view, которые я называю actionViews (это мой вопрос был), которые загружаются/вставлены в виде подзонов на другойNav но помещается за tabBar и перемещается вверх и вниз, когда кнопка панели вкладок выбрана и отменена.

здесь представлено графическое представление всех видов и как они сидят на экране.

enter image description here

+0

Почему вы хотите, чтобы выгрузить ваш взгляд? Обычно это не требуется. –

+0

Я думаю, что будет полезен еще один контекст, почему вы думаете, что хотите выгрузить представление? Похоже, что у вас есть некоторое замешательство в отношении объектов, с которыми вы работаете, и их ожидаемого жизненного цикла. Например, 'isViewLoaded' - это метод на UIViewController, а не UIView, и только говорит вам об этом свойстве' view' этого контроллера. Почему, по-вашему, вам нужно проверить, загружен ли просмотр контроллера? UIViewController уже предоставляет методы 'viewDidLoad' и' viewDidUnload', поэтому я не понимаю, почему вы строите такую ​​условную ветвь. – Jonah

+0

хорошо, поэтому я добавил больше контекста .. надеюсь, вы, ребята, видите, что я пытаюсь сделать, и могу сказать, что я делаю правильно и скорее ошибаюсь :) Я пытаюсь создать более модульный интерфейс, поэтому, если у меня есть чтобы исправить одну вещь или другую, мне просто нужно пойти в правильный класс, и бум исправить ее там и тогда. – HurkNburkS

ответ

3

Вы должны заботиться зрения myViewName в:

[myViewName.view removeFromSuperview]; 
myViewName.view = nil; 
+0

Это сработало. Не уверен, что то, что я делаю, правильно, но в ближайшее время я помету ваш ответ. – HurkNburkS

+0

if (questionAsker.shortly> = one_month) [self giveUp]; –

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