2012-11-01 5 views
3

나는 내부에 다른 사용자 지정 그려진 uiview가 포함 된 uiview 있습니다. 이제는 사용자가이 부모보기를 클릭하면 애니메이션이있는 새롭게 정의 된 프레임으로 확장됩니다. 애니메이션 블록을 사용하여 성공했습니다. 문제는 확대보기가 확장되지 않은 uiview의 크기가 조정 된 버전이므로 약간 픽셀 화 된 것입니다. 이제 애니메이션 블록 다음에 자식 뷰 setneedsdisplay()을 호출하면 뷰를 확장 한 최종 결과가 예리하게 (즉, 픽셀 화되지 않음) 나타납니다. 그러나 전환시에도 여전히 픽셀 화되어 있습니다.애니메이션으로 uiview 및 그 안의 모든 것을 스케일하는 방법 (다른 사용자 정의 된 uiviews)?

누군가 더 좋은 방법을 제안 할 수 있습니까? 아이를 호출하여

답변

0

이 오래된 질문이다,하지만 난 그것을 어쨌든 기회를 줄 것이다 ...

이제 애니메이션 블록 보기를 확대하는 것은의 최종 결과 후 setneedsdisplay을() 전망 날카로운 (즉, pixelated) ... 누군가가 이것을 할 수있는 더 좋은 방법을 제안 할 수 있습니까?

Xcode 4.2에서이 작업을 수행 할 수 있었던 한 가지 방법은 더 큰 버전의 그림을 포함하는 이미지보기를 삽입하는 것입니다. 그 그림을 rendering the view in an image context으로 만들 수 있습니다. 이 방법은 애니메이션이 단순하게 크기를 조정하여 뷰를 확장하는 경우 가장 잘 작동합니다. 애니메이션 중에 하위 뷰를 움직이면 정적 이미지가 분명히 도움이되지 않습니다.

Xcode 4.2는 크게 먼 메모리이고 장치는 더 많은 마력을 가지고 있습니다. 자동 레이아웃 제한을 사용하여 확장 중에 하위 뷰의 크기와 위치를 관리하면 꽤 좋은 결과를 얻을 수 있습니다.