문제

나는 몇 가지 사용자 정의 도면 코드를보기에서 CAShapeLayer, 그런 다음 원본보기에 하위 계층으로 추가됩니다. CALayer. 이것은 또한 잘 작동하지만 장치를 회전 할 때 애니메이션이 말더듬이 시작됩니다. 예를 들어, 원래 방향으로 프레임을 보게 된 다음 최종 방향을 볼 수 있습니다. 해당 애니메이션의 슬라이드 인 및 슬라이드 아웃 애니메이션 UIViewController 약간 육포입니다 (그러나 그다지 많지는 않습니다).

모든 CAShapeLayer 그것에 있습니다 path 하나입니다 CGPathAddRect, 그것은 설정되어 있습니다 opaque, 그것의 opacity ~이다 1.0f 그리고 fillColor 불투명 한 파란색으로 설정되었습니다.

보기에서 직접 경로를 그리는 경우 drawRect 그러나 방법은 애니메이션입니다 ~이다 매끄러운. 그래서 나는 그것이 CAShapeLayer 회전 중에 애니메이션.

그 바보를 제거하거나 CAShapeLayer 애니메이션 할 때? 그냥 그리기로 돌아갑니다 CGPaths 직접적인 것은 나에게 옵션이 아닙니다. CAShapeLayer 경로를 애니메이션하기 위해 (보기를 회전시키려는 시도에서는 애니메이션이 아닙니다).

/업데이트 : 회전 할 때도 발생합니다 UIViewControllerS보기에는 서브 클래스가있는보기가 포함되어 있습니다 CAGradientLayer 그것으로 layerClass (예 : 그라디언트 층이 배경으로 뷰).

건배

Mrmage

도움이 되었습니까?

해결책 2

이 문제는 iOS 4에서 Apple에 의해 해결 된 것 같습니다.

다른 팁

글쎄, 숨은 속성이 있습니다. CAShapeLayer 그런 다음 애니메이션을하십시오. 그런 다음 머리를 숨기지 않는 메소드를 호출하십시오 CAShapeLayer 회전하는 동안 보지 못하고 매끄럽게해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top