2013-09-26 3 views
2

나는 viewDidAppear이 시도하지만, = (어떤 내가있는 viewDidLoad에서 일을? 할 수 있습니까?이 180도 회전하여 애니메이션을 분할viewDidLoad에서 UIView animateWithDuration을 어떻게 할 수 있습니까? iOS7에는

-(void)viewDidAppear:(BOOL)animated{ 


      fullRotation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"]; 
      fullRotation.fromValue = [NSNumber numberWithFloat:0]; 
      fullRotation.toValue = [NSNumber numberWithFloat:((720*M_PI)/360)]; 
      fullRotation.duration = 5; 
      // fullRotation.repeatCount = 1e10f; 
      [_propImaCirculoCompleto.layer addAnimation:fullRotation forKey:@"360"]; 


} 
+1

viewDidLoad에 넣는 것은 아마도 원하는 것이 아닙니다. viewWillAppear을 시도하십시오. 보기가 CPU주기가 많이 걸릴 수도있을 때 다른 작업을 수행합니까? –

+0

왜 애니메이션 블록을 사용하고 있습니까? 외부에서 모든 코드를 실행하십시오. 그리고 [super viewDidAppear :]를 호출하는 것을 잊지 마십시오. 표준 'UIViewController' 클래스에는 아무 일도하지 않지만 좋은 연습입니다. –

답변

5

viewDidLoad에는 애니메이션이 실행되지 않아야합니다.보기에는 수퍼 뷰가 없으므로 애니메이션과 관련이 없습니다. 코드 샘플에

몇 가지 생각 :

  • 당신은 당신이 애니메이션을보기가 제시되고,뿐만 아니라 처음으로 나타나는 모든 시간을 원하는대로 viewDidAppear를 사용할 수 있습니다.

  • 애니메이션 블록 내에서 코어 애니메이션 사용은 필요하지 않습니다. 하나 또는 다른 것을하십시오.

제안

다른 뷰 컨트롤러에 의해 관리되는 뷰의 모양을 애니메이션하려는 경우는 제시 컨트롤러는 애니메이션에 대한 책임이 있습니다. 지원되는 최소 iOS 버전에 따라이 기능을 구현할 수있는 몇 가지 방법이 있습니다.

  • 는 아이폰 OS에서 5 + 당신은 정의 애니메이션 아이 뷰 컨트롤러를 제공하기 위해 사용자 지정 컨테이너 컨트롤러를 사용할 수 있습니다.

  • iOS 7에서는 'presentViewController : animated : completion'을 사용하고 맞춤 애니메이션을 지정할 수 있습니다. 그런 다음 transitioningDelegate 속성을 설정하고 대리인에게 전환을위한 애니메이터를 제공하게합니다.

위의 샘플 코드는 준비가되어 있지 않습니다.

+0

코드 샘플이 있으면 도움을 받으십시오. – Fabio

-1

시도를. 보인다 나는 지연의 일초를 iOS 7은 게으르며 360도 회전하지 않습니다.

+1

전체 회전이 0 회전이기 때문에 그게 전부입니다. – Sulthan

+0

질문에 답변하지 않으려 고합니다. – Tim

관련 문제