2014-12-11 9 views
10

Próbuję rozwiązać problem opisany w tym blogu: http://justabeech.com/2014/10/22/using-uivisualeffectview-in-a-modal-view-controller/Korzystanie Modal Zobacz Sterowniki i UIVisualEffectView

mam UIViewController z ujęć modalnej segue do innego UIViewController którego UIView ma kolor tła [UIColor clearColor] i UIVisualEffectView.

Kiedy przedstawiam kontroler widoku, efekt wizualny jest rozmazany, aż przejście zostanie zakończona, a następnie ponownie szarzeje tło (dokładnie, jak wyświetlane w gif na tym blogu).

enter image description here

ustawić Modal Transition stylu na pełnym ekranie, jak określono, ale nadal ten sam problem pozostaje. Czego jeszcze mi brakowało, aby to zadziałało?

EDIT: Ponadto, pojawia się następujący błąd:

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

Dzięki

+0

Musisz zrobić migawkę widoku "pod" i zastosować go jako tło widoku modalnego. – Fogmeister

+0

Nie sądzę, że to jest to. Styl prezentacji FullScreen powinien przechowywać widoki pod spodem. –

+0

Możesz łatwo dowiedzieć się, podbijając widok po przejściu modalnym. Jeśli pod spodem VC powinien się pokazać, to nadal będzie w hierarchii widoku. – Fogmeister

Odpowiedz

16

Prawdopodobnie używany UIModalPresentationFullScreen zamiast prawidłowej UIModalPresentationOverFullScreen.

Z dawnych UIModalPresentationFullScreen wszystkich poglądów prezentowanych w ramach kontrolera są usuwane z widoku hierarchii raz animacja kończy.

0

Musisz ustawić styl prezentacji modalnej UINavigationController, zamiast UIViewController.