2011-06-11 1 views
4

분할보기 컨트롤러가있는 내 응용 프로그램에서는로드보기가 있습니다. 내 루트보기 컨트롤러는 UITableViewController의 하위 클래스입니다. 데이터를로드하는 동안 나는 self.view을 저장하고로드 뷰 그것을 밖으로 전환 :분할보기 컨트롤러가있는 얽힌보기 프레임

- (void)loadingWillBegin { 
    self.cachedView = self.view; 
    self.progressBar.progress = 0.0; 
    [UIView transitionFromView:self.view toView:self.loadingView duration:1.0 options: UIViewAnimationOptionTransitionCurlDown completion:NULL]; 
    self.view = self.loadingView; 
} 

- (void)loadingDidFinish { 
    [UIView transitionFromView:self.loadingView toView:self.cachedView duration:1.0 options:UIViewAnimationOptionTransitionCurlUp completion:NULL]; 
    self.view = cachedView; 
} 

트랜지션이 잘 작동하지만,로드 뷰 테이블 뷰의 프레임을 페이지 아웃 된 후 모두가 엉망이다. 상태 막대와 동일한 크기의 상단에 검은 막대가 있습니다 (상태 막대 시뮬레이션 된 통계를 지 웠습니다).보기는 실제 화면 아래쪽으로 확장됩니다. 프레임은 loadingView과 같습니다. 이보기에서 나는 iPad 시뮬레이션 메트릭 ~ Master을 설정했는데, 이는 약 820px 크기의보기로 이어졌습니다. 이 옵션의 설정에 상관없이, Xcode 4에서는 크기 검사기에서보기의 프레임을 변경할 수 없습니다.

보기 프레임에 대해서는 어떻게해야합니까?

답변

2

애니메이션이 완료되면 수동으로 올바른 프레임을 설정할 수 있습니다.

[UIView transitionFromView:self.loadingView toView:self.cachedView duration:1.0 options:UIViewAnimationOptionTransitionCurlUp completion:^(BOOL finished){self.cachedView.frame = /* Insert appropriate frame here. */;}];