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.

Film o problemie ...

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

questionAnswers(8)

yourAnswerToTheQuestion