2012-03-21 4 views
1

이것이 가능한지 확실하지 않지만 다른 방법으로 알아보기 전에 확인하고 싶습니다. 그래서 저는 저의 주요 견해를 가지고 있으며, 중심에 나는 선언하고 합성 한 UIImageView입니다. 나는 이미지를 화면 밖으로 밀어 내고 다른 이미지를 슬라이드하고 싶다. 하지만 나는 이것을 UIImageView으로 할 것입니다. 슬라이드를 끈 다음 동일한보기를 다른 이미지로 다시 밀기를 원합니다.다른 UIImageViews를 사용하지 않고 화면을 켜거나 끕니다 (동일한) 이미지

이 방법으로 수행 할 수 있는지 확실하지 않습니다. 아마 현재의 이미지와 동일한 임시 이미지 뷰를 만들어 동일한 프레임의 뷰에 추가 한 다음 임시 뷰를 뷰에서 벗어나 메인 이미지 뷰를 다시 슬라이드하는 것으로 생각했습니다.

의견을 보내주십시오.

+0

하나의 이미지보기를 사용하면 어떤 점이 문제가됩니까? 새 이미지와 오래된 이미지를 동시에 애니메이션으로 표시해야합니까? –

+0

예, 어디서 다른 사람을 밀어냅니다. 적어도 임시 이미지 뷰를 만들지 않고는 가능하지 않다고 생각합니다. – sooper

+0

글쎄, 난 UIView의 레이어에 CoreGraphics 오른쪽 UIImageView'없이 이미지 콘텐츠를 렌더링 할 수 있다고 생각 :) 두 이미지 뷰를 대체로 그것은 단순한 경우에 잔인한 사람이 될 것이므로, 그건 대답이 아니라 단지 힌트. –

답변

4

약간 놀아 보았지만 다소 간단한 해결책을 찾았습니까?

self.myImageView.image = [UIImage imageNamed:myNewImageString]; 

CATransition *animation = [CATransition animation]; 
[animation setDuration:1]; 
[animation setType:kCATransitionPush]; 
[animation setSubtype:kCATransitionFromRight]; 
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; 
[[self.myImageView layer] addAnimation:animation forKey:@"SlideOutandInImagek"]; 

새 이미지가 설정되기 전에 이전 이미지가 유지 된 것처럼 보입니다. 꿈처럼 작동합니다.

모든 의견과 제안에 감사드립니다.

0

귀하의 의견을 보면, UIImageView를 사용하여 화면에 두 개의 이미지를 가질 수 없으므로, 예를 들어 임시 하나를 만들어야하지만 매우 오래 머물러있을 필요는 없습니다. 완료 인수 UIView animateWithDuration:animations:completion에서 temp one에 하나를 합성하고 temp 1이 범위를 벗어나면 (ARC 인 경우) 또는 해제합니다 (ARC가 아닌 경우).

관련 문제