저는 초보자 프로그래머입니다 & 저는 처음으로 iOS 프로젝트를하고 있습니다. 내 프로젝트에는 여러 개의 UIView
과 UIViewController
이 있습니다. 각보기에서 나는 drawRect
메서드를 재정 의하여 여러 개의 원을 그렸습니다. 하나의 견해로는 직사각형을 그릴 필요가 있고 그것을 만질 때 애니메이션 아래에 또 다른 3 개의 직사각형을 그릴 것입니다. 나는 그것을하기위한 최선의 방법이 무엇인지 궁금해하고있었습니다! 터치 후보기를 다시 그리기 위해 setNeedsDisplay
을 호출하고 다른 세 개의 사각형을 애니메이션으로 그립니다. 어떻게하면 이것을 얻을 수 있고 애니메이션으로이 특별한 것을 수행하는 데 가장 좋은 다른 방법이 있을까요?애니메이션을 사용하여 UIView 다시 그리기
1
A
답변
1
drawRect를 재정의하는 것이 타이머 아래에서 여러 번 다시 그리기해야하는 많은 유형의 애니메이션을 수행하기 때문에 최상의 솔루션이 아닐 수 있습니다. 그 외에도 드로잉은 CPU로 처리되므로 하드웨어 가속을 활용하지 못합니다.
세 직사각형이 보이기 전에 직사각형이 있어야하는 위치의 뷰 계층 구조에 세 개의 UIView를 추가하는 것이 좋습니다.
[UIView animateWithDuration:0.2 animations:^{
rectView1.alpha = 1.0;
rectView2.alpha = 1.0;
rectView3.alpha = 1.0;
}];
: 그것은보기에 사각형을 애니메이션하는 시간이되면, 당신은 다음과 같은 코드를 사용할 수 있습니다 당신이 원하는 사각형의 색상에 각보기의 backgroundColor
속성을 설정하고 0으로 각보기의 alpha
값을 설정 물론 응용 프로그램에 맞는 애니메이션의 지속 시간을 변경하고 rectViews의 다른 속성도 변경할 수 있습니다. 직사각형이 희미 해 지도록 및이 측면에서 날아오고 있다고 가정합니다. 애니메이션 전에 각 rectView의 frame
속성을 조정 한 다음 애니메이션 블록 내부에서 조정할 수 있습니다.
관련 문제
- 1. UIView 내용 다시 그리기
- 2. UIView 애니메이션을 다시 시작하는 방법
- 3. 높은 CPU로드 지연 UIView 다시 그리기 (iOS)
- 4. uiview 애니메이션을 방아쇠로 다시 트리거하는 법
- 5. UIView 블록 기반 애니메이션 다시 그리기
- 6. UIView : 그림 그리기 및 다시 표시
- 7. 움직이면서 테이블을 다시 그리기
- 8. UIView 하위보기에서 선 그리기
- 9. UIView 애니메이션을 아래로 내림
- 10. UIView 애니메이션을 뒤로 이동
- 11. drawRect를 사용하여 다시 그리기
- 12. UIView 애니메이션을 사용하여 UIView가 제대로 애니메이션되지 않음
- 13. 코드에 UIBezierPath 그리기 UIView
- 14. UIView 애니메이션을 일시 중지했다가 다시 시작하는 방법은 무엇입니까?
- 15. CoreGraphics를 사용하여 사용자 정의 UIView 그리기 문제
- 16. drawRect로 UIView 애니메이션을 위장한 것
- 17. UIView 애니메이션을 취소하고 끝내려면 어떻게해야합니까?
- 18. UIView 또는 CALayer로 그리기 및 애니메이션하기?
- 19. 회전시 UIWebView 다시 그리기
- 20. UIView 블록 애니메이션에서 애니메이션을 중지하고 다시 시작하는 방법
- 21. 제시된 ViewController는 UIView 애니메이션을 무시합니다.
- 22. UIView 애니메이션이 이전 애니메이션을 취소합니까?
- 23. 홈 버튼이 UIView 애니메이션을 취소합니다.
- 24. UIView 애니메이션을 만드는 방법은 무엇입니까?
- 25. UIBezierPath를 사용하여 rect 다시 그리기
- 26. UIView 내부에서 애니메이션을 적용하는 방법은 무엇입니까?
- 27. QT 다시 그리기/다시 그리기/업데이트/마침
- 28. achartengine : 차트 다시 그리기/다시 그리기 방법
- 29. UITableView 다시 그리기 문제
- 30. Objective C에서 Xcode로 그리기 애니메이션을 실행 하시겠습니까?
위대한 solution.but 질문이 .. *이 상황에서'setneedsdisplay'를 사용해야합니까? 처음 세 번 호출하지 않고 세 가지 uiview를 선언 할 수있는 곳 – sujat
drawRect로 다시 그리도록보기를 원할 때 setNeedsDisplay를 호출해야하지만보기의 하위보기를 조작하는 경우에는 * 부모보기를 다시 그리지 않아야하고 실제로 setNeedsDisplay를 호출하면 프로그램의 성능이 떨어질 수 있습니다. –
고마워. 바라건대 그것은 내 일을 완수하는 데 도움이 될 것입니다 .... – sujat