2012-08-27 1 views
0

을 존중하지 않습니다. 제대로 메소드 선언에서 설정 한 기간을 따르지 않는 것입니다 사실을 제외하고 애니메이션 기능 ...UIView의 animateWithDuration 내가 한 위치에서 다른 위치로 뷰를 이동하는 간단한 애니메이션이 기간

[UIView beginAnimations:@"listAnimationIn" context:nil]; 
[UIView animateWithDuration:1.0 
         delay:1.0 
        options:UIViewAnimationCurveLinear 
       animations:^{ 
        lvc.view.frame = CGRectMake(0, 0, 320, 480); 
       } 
       completion:nil]; 
[UIView commitAnimations]; 

지연이 작동하지만 애니메이션에 상관없이 I가 넣어 어떤 값을 FAST를 실행하지 duration (나는 0.5에서 2000까지의 값을 시도했다). 나는 또한 약간의 UIViewAnimationCurve 옵션을 시도했지만 아무것도 작동하지 않는 것 같습니다.

내가 누락 된 항목이 있습니까?

답변

3

당신은 -beginAnimations:context:-commitAnimations 메시지가 필요하지 않습니다. 그것은 그것을하는 오래된 방법이고, 당신은 정말로 혼합해서는 안됩니다. -animateWithDuration:delay:options:animations:completion: 메서드를 호출하기 만하면됩니다. 또한 완료 블록을 추가하면 부울 변수가 전달되어 애니메이션이 일찍 종료되거나 완료 될 때 알려줍니다. 이것은 애니메이션이 너무 느리거나 동일한 뷰 계층 구조 (기존 스타일의 시작/확약 호출로 시작)에서 시작하는 경쟁 애니메이션이있는 경우에 발생합니다.

+0

제이슨, 내 남자! 그것을 찔렀다. 무리 감사! – CoderMarkus

관련 문제