이것은 한 사람이 부정적으로 간주 할 수있는 많은 버그와 관련이 있습니다.일반적으로 UIView 애니메이션을 통해 Core Animation을 사용하는 것이 적절한 경우
내가 더 많이 알아 차렸던 것은 모든 맛을 UIView animateWithDuration:
으로 사용할 때 사실상 불필요하게 여러 가지 속성 (내보기의 여러 속성)을 수정하고 간단한 숨기기/공개 스타일 애니메이션 등을하는 것입니다.
UINavigationBar가 특정 회전 전환에 대해 제대로 위치에 애니메이션을 적용하지 않거나 헤더 업데이트가 프레임 업데이트시 상태 표시 줄과 함께 움직이지 않는 경우,보기의 하위 레이어가 암시 적으로 다르게 애니메이션을 적용 할 때 상위 뷰의 속성이 변경됩니다.
이렇게 많은 부분을 다시 살펴보고 CAAnimations로 변환했기 때문에 그들은 관리하기가 더 쉬워 보이는 데 실제로 뷰의 대상 속성 값을 수정하지 않습니다.
간단한 예제로 [view setHidden:]
을 사용한 다음 애니메이션을 적용하거나 보이지 않지만 애니메이션이 실행되는 동안보기가 실제로 표시되거나 숨겨집니다.
UINavigationController의 뷰를 수정하면 UINavigationBar가 올바른 위치로 이동하지 않기 때문에 UINavigationController의 뷰를 변형/회전/확대/축소하고 CAAnimation을 사용하여 필요에 따라 또 하나의 뷰가 필요합니다. 뷰의 변환 프로퍼티 값.
결론적으로이 질문에 대해 필자는 앞뒤로왔다 갔다하며 내 상황에 대해 다른 것보다 적절한 장소를 찾고 있었지만 주로 다른 사람들이이 시나리오에 대해 어떻게 생각하는지 듣고 싶습니다. 애플이 제공 한 것에 대한 통찰력이 있다면 내 접근 방식에 대해 더 잘 느낄 수있을 것이다.
미리 감사드립니다.