Cashapelayer는 인터페이스 회전 속도를 늦추고 있습니다
-
19-09-2019 - |
문제
나는 몇 가지 사용자 정의 도면 코드를보기에서 CAShapeLayer
, 그런 다음 원본보기에 하위 계층으로 추가됩니다. CALayer
. 이것은 또한 잘 작동하지만 장치를 회전 할 때 애니메이션이 말더듬이 시작됩니다. 예를 들어, 원래 방향으로 프레임을 보게 된 다음 최종 방향을 볼 수 있습니다. 해당 애니메이션의 슬라이드 인 및 슬라이드 아웃 애니메이션 UIViewController
약간 육포입니다 (그러나 그다지 많지는 않습니다).
모든 CAShapeLayer
그것에 있습니다 path
하나입니다 CGPathAddRect
, 그것은 설정되어 있습니다 opaque
, 그것의 opacity
~이다 1.0f
그리고 fillColor
불투명 한 파란색으로 설정되었습니다.
보기에서 직접 경로를 그리는 경우 drawRect
그러나 방법은 애니메이션입니다 ~이다 매끄러운. 그래서 나는 그것이 CAShapeLayer
회전 중에 애니메이션.
그 바보를 제거하거나 CAShapeLayer
애니메이션 할 때? 그냥 그리기로 돌아갑니다 CGPath
s 직접적인 것은 나에게 옵션이 아닙니다. CAShapeLayer
경로를 애니메이션하기 위해 (보기를 회전시키려는 시도에서는 애니메이션이 아닙니다).
/업데이트 : 회전 할 때도 발생합니다 UIViewController
S보기에는 서브 클래스가있는보기가 포함되어 있습니다 CAGradientLayer
그것으로 layerClass
(예 : 그라디언트 층이 배경으로 뷰).
건배
Mrmage
해결책 2
이 문제는 iOS 4에서 Apple에 의해 해결 된 것 같습니다.
다른 팁
글쎄, 숨은 속성이 있습니다. CAShapeLayer
그런 다음 애니메이션을하십시오. 그런 다음 머리를 숨기지 않는 메소드를 호출하십시오 CAShapeLayer
회전하는 동안 보지 못하고 매끄럽게해야합니다.