По-прежнему возникают трудности с переключением между представлениями - PullRequest
0 голосов
/ 30 августа 2010

У меня есть приложение, которое использует несколько представлений, и оно становилось довольно неловким, переключаясь между ними, поэтому я подумал, что это может быть идея сделать какой-то код, который автоматически перейдет на пронумерованную страницу, загрузит соответствующий вид, затемвыполнить любые настройки, которые необходимо выполнить, основываясь на этом представлении.Я придумал следующее.Тестовая страница, которую я настроил, переключается на OK и даже устанавливает делегата должным образом, но он просто не будет выполнять никаких операций по настройке содержимого страницы, таких как изменение текста на ярлыках, которые он содержит, или щелчок переключателяпереключиться на ВКЛ.Я прошел программу шаг за шагом, и все команды выполняются, но результаты просто не отображаются на последнем экране.

currentMenu - указатель UIViewController, который я нацеливаю на текущийViewController используется, чтобы я знал, что уволить позже.clusterMenu - это специальный контроллер представления типа ClusterMenu, который я использую в качестве примера страницы для переключения.

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

Вот код:

UIViewController *vanishing = currentMenu;

if (page == 3){
    clusterMenu = [[ClusterMenu alloc] initWithHeader:clusterMap.header];
    [clusterMenu setDelegate:self];
    clusterMenu.editSwitch.on = clusterMap.editMode;
    [clusterMenu changeEditStatus];
    currentMenu = clusterMenu;
}

[UIView transitionFromView:vanishing.view toView:currentMenu.view duration:0.5 
                options:UIViewAnimationOptionTransitionCurlUp 
                completion:^(BOOL done){[vanishing release];}];

Ответы [ 2 ]

0 голосов
/ 30 августа 2010

Поместите ваши команды инициализации в метод init представления и дождитесь его вызова.Не останавливайтесь, так как это предотвратит загрузку представлений, просто выйдите из вашего текущего метода.

В Какао вы не говорите ОС, что делать, вы ждете, пока он скажет вам.

0 голосов
/ 30 августа 2010

Хороший вопрос. Учитывая ограниченный код, который был опубликован, мне сложно вести вас по конкретным изменениям. Вместо этого я бы рекомендовал взглянуть на образец проекта Apple (ссылка ниже), который должен помочь вам на вашем пути. Вы, вероятно, можете использовать архитектуру Apple и просто использовать в своих контроллерах представление для переключения страниц.

http://developer.apple.com/iphone/library/samplecode/PageControl/Introduction/Intro.html

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...