2010-12-17 6 views
3

내 ipad 응용 프로그램에서 두 개의보기 마스터보기 및 상세보기로 splitviewcontroller를 구현 중입니다. ipad의 방향을 세로에서 가로로 변경하면 마스터보기를 숨기고 전체 화면에 표시되도록 세부보기의 프레임 크기를 변경해야합니다. 이를 위해이 코드를 사용하고 있습니다.splitviewcontroller 세부보기의 프레임 크기가 ios4.2에서 변경되지 않습니다.

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation 
{ 
     //adjust master view 
     UIViewController *master = [self.splitViewController.viewControllers objectAtIndex:0]; 
     UIViewController *detail = [self.splitViewController.viewControllers objectAtIndex:1]; 
     CGRect t = master.view.frame; 
     t.size.width = 0; 
     t.size.height = 0; 
     t.origin.x = 0; 
     t.origin.y = 0; 
     [master.view setHidden:YES]; 
     [master.view setFrame:t]; 

     //adjust detail view 
     CGRect f = detail.view.frame; 
     f.size.width = 1004; 
     f.size.height = 768; 
     f.origin.x = 0; 
     f.origin.y = 0; 

     [detail.view setFrame:f]; 

} 

이 코드는 ios3.2에서 올바르게 작동하지만 ios4.2에서는 작동하지 않습니다. ios4.2에서는 마스터 뷰가 숨겨 지지만 세부 뷰의 프레임 크기는 변경되지 않습니다.

도와주세요. 감사 Shruti

답변

0

나는 내 문제에 발견 대안은 대신 마스터보기를 숨기고 회전에 상세 뷰의 프레임 크기를 변경하는 난 그냥 모달 뷰와 상세보기를 포함한 클래스를 발표한다는 것입니다. 이전에 나는 이전 수업에서 그것을 밀고 있었다. 또한 모달 뷰를 닫으려면 완료 버튼을 사용하여 탐색 막대를 추가했습니다. 이 일은 나를 위해 일했다.

ListingViewController *viewController = [[ListingViewController alloc] initWithNibName:@"ListingViewController" bundle:[NSBundle mainBundle]]; 
UINavigationController *modalVC = [[UINavigationController alloc]initWithRootViewController:viewController]; // to add navigation bar 
modalVC.navigationBar.barStyle = UIBarStyleBlackOpaque; 
[self.navigationController presentModalViewController:modalVC animated:YES]; 
[modalVC release]; 
[viewController release]; 
+0

이것은 내 문제를 해결하기 위해 수행 한 대안이었습니다. 그 질문과 정확히 일치하지는 않습니다. – Aisha

관련 문제