CAGradientLayer, ładnie nie zmienia rozmiaru, rozrywa podczas obrotu
Próbuję uzyskać moje warstwy CAGradientLayers, których używam do tworzenia ładnych gradientowych teł, aby ładnie zmienić rozmiar na prezentacji rotacyjnej i modalnej, ale nie będą grać w piłkę.
Oto wideo, które właśnie stworzyłem, pokazujące mój problem: Zwróć uwagę na rozerwanie podczas obrotu.
Należy również zauważyć, że ten film został utworzony przez sfilmowanie iPhone Simulator na OS X. Spowolniłem animacje w filmie, aby podkreślić mój problem.
Oto projekt Xcode, który właśnie stworzyłem (który jest źródłem aplikacji pokazanej na filmie), zasadniczo tak jak pokazano, problem pojawia się podczas rotacji, a zwłaszcza gdy widoki są prezentowane modalnie:
Xcode Project, modalnie prezentujący widoki z tłem CAGradientLayer ...
Na co warto rozumieć, używając:
[[self view] setBackgroundColor:[UIColor blackColor]];
robi rozsądną robotę, aby przejścia były bardziej płynne i mniej wstrząsające, ale jeśli spojrzysz na wideo, gdy ja, podczas gdy obecnie w trybie poziomym, modalnie przedstawi widok, zobaczysz, dlaczego powyższy kod nie pomoże.
Jakieś pomysły, co mogę zrobić, aby rozwiązać ten problem?
Jan