2013-07-13 3 views
6

Я работаю с SVWebViewController. Когда я представляю контроллер вида здесьувольнение ViewControllerAnimated: not animating

SVModalWebViewController *webViewController = [[SVModalWebViewController alloc] initWithAddress:address]; 
webViewController.webDelegate = self; 

[self presentViewController:webViewController animated:YES completion:nil]; 

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

[self dismissViewControllerAnimated:YES completion:nil]; 

Контроллер вида просто исчезает. Отсутствует анимация слайдов. Есть предположения?

EDIT Оказалось, что много анимаций презентации отображаются неправильно в приложении. Некоторые нажатия на контроллер навигации не сдвигаются или не выдвигаются (но некоторые из них). Они просто появляются.

+0

В каком виде контроллера вы зовете [самостоятельно dismissViewControllerAnimated: ДА завершение: NULL]; –

+0

И у вас есть другой код, который вы запускаете одновременно? – Wain

+0

[self rejectViewControllerAnimated: YES завершение: NULL]; вызывается в SVWebViewController. Когда SVModalWebViewController инициализируется, он устанавливает экземпляр SVWebViewController как своего контроллера корневого представления. @Wain - другой код не работает одновременно. – bdev

ответ

0
[self dismissViewControllerAnimated:YES completion:NULL]; 

Это должно быть в SVModalWebViewController не SVWebViewController

EDIT: Вместо модально segueing к SVWebViewController вы должны нажать:

SVWebViewController *webViewController = [[SVWebViewController alloc] initWithAddress:@"http://google.com"]; 
[self.navigationController pushViewController:webViewController animated:YES]; 

И вместо увольнения вы должны:

[self.navigationController popViewControllerAnimated:YES]; 
+0

Я пробовал звонить из SVModalWebViewController, но поведение такое же. – bdev

+0

@bdev Я отредактировал свой ответ. –

+0

Контроллер веб-представлений предназначен для представления модально от контроллера вида, который обрабатывается навигационным контроллером (не представленным в следующем виде в контроллере навигации) – bdev

0

От SVWebViewController viewWillAppear::

SVWebViewController должна содержаться в UINavigationController. Если вы представляете SVWebViewController , используйте вместо него SVModalWebViewController.

  1. Является ли ваш главный контроллер представления, содержащиеся в навигационном контроллере? Если нет, это может привести к другим проблемам с анимацией, с которыми вы сталкиваетесь.
  2. Увольнение должно быть указано на дисплее modalViewController.
+0

1. SVModalWebViewController - это контроллер навигации. Его контроллер корневого представления настроен как экземпляр SVWebViewController. 2. [self rejectViewControllerAnimated: YES завершение: NULL]; вызывается в контроллере SVWebViewController; Я попытался вызвать это в SVModalWebViewController, но поведение такое же. – bdev

+0

Насколько я понимаю, вы создаете экземпляр SVWebViewController как root viewController, когда вы инициализируете modalViewController, правильно? не следует ли использовать предыдущий контроллер, из которого вы представили модальный? – Lirik

0

Это происходит со мной, когда контроллер вида назначения загружает большое изображение или фон

+0

Контроллер веб-представления не загружает изображение. – bdev