Использование контроллеров Modal View и UIVisualEffectView

Я пытаюсь решить проблему, описанную в этом сообщении в блоге: http://justabeech.com/2014/10/22/using-uivisualeffectview-in-a-modal-view-controller/

У меня есть UIViewController с modal segue раскадровки в другой UIViewController, у которого UIView имеет цвет фона [UIColor clearColor] и a UIVisualEffectView.

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

enter image description here

Я установил Модальный переходный стиль в FullScreen, как указано, но по-прежнему остается той же проблемой. Что еще я мог потерять, чтобы сделать эту работу?

EDIT: Кроме того, я получаю следующую ошибку:

Warning: Attempt to present <ClocksDetailViewController: 0x7ff89cb5bc70> on <ClocksViewController: 0x7ff89c8afe90> whose view is not in the window hierarchy!

Спасибо

Ответ 1

Вероятно, вы использовали UIModalPresentationFullScreen вместо правильного UIModalPresentationOverFullScreen.

С помощью старого UIModalPresentationFullScreen все представления под представленным контроллером удаляются из иерархии представлений после завершения анимации.

Ответ 2

Вам нужно установить стиль модальной презентации UINavigationController, а не UIViewController.

UINavigationController* navigationController = [[UIStoryboard storyboardWithName:@"myStoryboard" bundle:nil] instantiateViewControllerWithIdentifier:@"myViewController"];
navigationController.modalPresentationStyle = UIModalPresentationOverFullScreen;