2012-03-26 3 views
0

에서보기 컨트롤러를 퇴색하려고, 내가 뭘하고있는 viewDidLoad 내에서 다음아이폰 OS - 블랙에서의 뷰 컨트롤러 페이딩에서

  • 검은 배경으로 UIView를 생성하는 단계;
  • UIView1.0f의 알파 값을 부여하고;
  • UIView을 서브 뷰로 추가하면 [self view];
  • 검은 색으로 변하며, 으로 알파 값을 변경하여 animateWithDuration을 통해 출력합니다. 및
  • 계획대로이 작품보다 더 자주는 아니지만 [[self view] subviews]

에서 검은 UIView 제거. 그러나 때로는 검은 색이 표시되기 바로 전에 처음에는 숨기고 싶은 뷰 컨트롤러를 엿볼 수 있습니다. UIView.

이 문제를 방지 할 수있는 방법이 있습니까? viewDidLoad에이 코드를 삽입하는 더 좋은 방법이 있습니까?

많은 감사

+1

'self.view.alpha'를 설정하지 않는 이유는 무엇입니까? – CodaFi

답변

0

예,에는 loadView 방법에서보기를 추가하고있는 viewDidLoad 또는 viewDidAppear의 실제 애니메이션을한다. 또는 위의 설명자가 말했듯이 단순히 알파보기를 사용합니다.

0

내가 UIViewController에 숨겨진시키려는 UIView 만들 것 '의 nib 파일을, 다음 링크 것과 통해 함께 IBOutlet은

@interface SomeViewController: UIViewController 
{ 
     IBOutlet UIView *blackView; 
} 

UIViewController에서의 -(void) viewDidLoad; 방법, 나는 다음과 같은

할 것
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    // Fade the opacity of blackView over 1 second, 
    // then remove it from the view controller. 
    [UIView animateWithDuration:1 
        delay:0 
       options:UIViewAnimationOptionCurveEaseOut 
      animations:^{ 
       blackView.layer.opacity = 0; 
      } 
      completion:^(BOOL finished) { 
       // This line prevents the flash 
       blackView.layer.opacity = 0; 
       [blackView removeFromSuperview]; 
      }]; 
}