Поиск:

Ответ в темуСоздание новой темы Создание опроса
> dismissViewControllerAnimated, с несколькими viewController 
V
    Опции темы
Incinerated
Дата 26.9.2012, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 162
Регистрация: 18.5.2006
Где: Беларусь, Новопол оцк

Репутация: нет
Всего: нет



Есть 3 viewController: главный и 2 последовательно вызываемые.
В главном вызов:
Код

self.notificationViewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentViewController:self.notificationViewController animated:YES completion:nil];

в появившемся представлении делается вызов 3-его:
Код

DenyViewController* controller = [[DenyViewController alloc] initWithNibName:@"DenyViewController_iPhone" bundle:nil];
controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentViewController:controller animated:YES completion:nil];
[self dismissViewControllerAnimated:YES completion:nil];

и после манипуляций в 3-ем представлении я хочу вернуться на первое:
Код

[self dismissViewControllerAnimated:YES completion:nil];

Но он возвращается на второе, хотя во втором я тоже вызывал метод dismissViewControllerAnimated. В чем ошибка?
Пробовал во 2 представлении завести BOOL переменную. И проверять в методе viewDidAppear было ли показано представление. Тогда работает, но не так как надо. Работает так: анимация исчезания 3 представления, показ 2 и анимация исчезания 2 представления и показ первого. Хотелось бы чтобы была одна анимация с 3-его на 1-ый.


Спасибо.

Это сообщение отредактировал(а) Incinerated - 26.9.2012, 10:33
PM MAIL   Вверх
Bitter
Дата 26.9.2012, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный лентяй
***


Профиль
Группа: Завсегдатай
Сообщений: 1209
Регистрация: 15.8.2004
Где: Харьков, Ukraine

Репутация: 10
Всего: 27



Это можно сделать через UINavigationController. Просто делая push и pop соответственно.

PM MAIL ICQ Skype   Вверх
Incinerated
Дата 26.9.2012, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 162
Регистрация: 18.5.2006
Где: Беларусь, Новопол оцк

Репутация: нет
Всего: нет



Цитата(Bitter @ 26.9.2012,  09:41)
Это можно сделать через UINavigationController. Просто делая push и pop соответственно.

Код

В первом представлении:
self.navigationController = [[UINavigationController alloc] initWithRootViewController:self];
self.navigationController.delegate = self;

и потом по кнопке
Код

[self.navigationController pushViewController:self.notificationViewController animated:YES];

и ничего не происходит. Ошибок тоже не кидает. Что-то сделал не так?
PM MAIL   Вверх
Incinerated
Дата 26.9.2012, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 162
Регистрация: 18.5.2006
Где: Беларусь, Новопол оцк

Репутация: нет
Всего: нет



разобрался с navigationController. Все работает. Спасибо.
PM MAIL   Вверх
Maksys
Дата 26.9.2012, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 15.6.2005
Где: Екатеринбург

Репутация: нет
Всего: 17



Я вот на той неделе тра*ся с этой жопой. И выяснилось, что 
Код

[self dismissViewControllerAnimated:YES completion:nil];


Не отрабатывает, пока в главном треде идет анимация по этому же событию. Я поставил задержку [NSThread sleepForTimeInterval:1]; А вообще надо бы поставить какойнить блок в completion.
зы. но это касается моего случая. с этим были косяки в логике тредов. надо быть внимательней.


--------------------
 С уважением, BiMaWa™©.
user posted image
user posted image
PM MAIL ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | iOS | Следующая тема »


 




[ Время генерации скрипта: 0.0656 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.