2011-07-31 7 views
1

보기 컨트롤러가 있습니다 ... 사용자가 버튼을 누르면 검은 화면이 위로 흐려지고 uiactivityindicator가 희미한 화면 상단에 나타나기를 원합니다.페이드 아웃 된 화면 효과 만들기 iphone

이 애니메이션 효과가 어떻게 적용 되나요?

-(IBAction) loginToApp:(id)sender{ 
    //fade in view 
} 

답변

2

다른보기를보기의 맨 위에 추가하십시오 (단색 검정색). IB 또는 프로그래밍 방식으로 할 수 있습니다. 더 높은 z 순서 (상단에 있음)가 있는지 확인하십시오. 알파 = 0으로 만듭니다. 그 다음 :

-(IBAction) loginToApp:(id)sender{ 
    [UIView animateWithDuration:1.5 animations:^{ myview.alpha = 1.0; }] 
} 

... 분명히 그보기에 연결된 콘센트 나 변수 myview가 필요합니다. 1.5 = 초. 필요에 맞게 변경하십시오.

+0

큰하지만 – user559142

+0

없이 할 수있는 키보드, 표범을 통해 나타나도록 그것을 얻을 도이 방법 – Colin

0

물론 가능합니다. 그러나 원하는대로 오버레이 뷰를 만들 수는 있지만,이 방법은 작동합니다 (적절한 인스턴스 변수를 어딘가에 만들었다 고 가정). 내 코드가 내보기 컨트롤러에 있었으므로 [self view]은 내가 가리 키려하는보기를 반환합니다.

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:2.0]; 
[spinner startAnimating]; 
shadeView.alpha = 0.7f; 
[UIView commitAnimations]; 

그리고 숨길 수 :

shadeView = [[UIView alloc] initWithFrame:[[self view] bounds]]; 
shadeView.backgroundColor = [UIColor blackColor]; 
shadeView.alpha = 0.0f; 
spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorStyleWhiteLarge]; 
spinner.center = CGPointMake(CGRectGetMidX([shadeView bounds]), 
          CGRectGetMidY([shadeView bounds])); 
[shadeView addSubview:spinner]; 
[[self view] addSubview:shadeView]; 

제시하는

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:1.0]; 
[spinner stopAnimating]; 
shadeView.alpha = 0.0f; 
[UIView commitAnimations]; 
관련 문제