2010-08-16 3 views
0

일반보기 내부에 tableview 및 일반보기 (보기 2라고 가정)가 있습니다. 인터페이스 빌더에서 모두 작성되었습니다. 뷰 2는 테이블 뷰 위에 있으며 뷰를로드 할 때 위에서 애니메이션으로 나타나야합니다. 버튼을 누르면 뷰가 다시 사라집니다. 내가 어떻게 할 수 있니?애니메이션보기 추가

감사합니다.

답변

1

맞춤 애니메이션 블록에서이 애니메이션을 재생해야합니다.

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:GROW_AND_MOVE_ANIMATION_DURATION_SECONDS]; 
[yourView setFrame:CGRectMake(0, 0, 320, 480)]; 
[UIView commitAnimations]; 
: 그냥 애니메이션 블록에보기의 프레임을 변경

[yourView setFrame:CGRectMake(0, -480, 320, 480)]; 

애니메이션 블록에서 : 그것은 화면과 보이지 않는 이상이되도록 그것은 매우 간단해야 .. 는보기의 프레임을 설정

을 닫으려면 /이 이전 프레임과 같은 애니메이션을 사용 사라지게 :

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:GROW_AND_MOVE_ANIMATION_DURATION_SECONDS]; 
[yourView setFrame:CGRectMake(0, -480, 320, 480)]; 
[UIView commitAnimations]; 

하지만 그 전에

당신이 최고에서 그것을 가지고해야하는지 여부를 고려 원인 브린 경우

- (void)presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated 

행운을 빕니다 : 모달 뷰가 귀하의 요구 사항을 충족하는 바닥에서 그것을 드래그하는, 당신은 매우 쉽게의 UIViewController의 방법을 사용할 수 있습니다.

+0

하지만 UIView, UIViewController 아니라고 생각하기 때문에 presentModalViewController 메서드가 작동하지 않습니다 (확실하지 않지만) –

+0

답장을 보내 주셔서 감사합니다. 실제로이 작업을 수행 한 결과 : [UIView beginAnimations : nil context : NULL]; \t [UIView setAnimationDuration : 1]; \t [UIView setAnimationDelegate : self]; \t CGAffineTransform transformView = myView.transform; \t transformView = CGAffineTransformTranslate (transformView, 0, +210); \t myView.transform = transformView; 인터페이스 작성기에서 시작 좌표를 변경했습니다. – DanielaM

관련 문제