2011-11-23 7 views
3

기본보기가 있습니다. 이 메인 뷰에서 모달 뷰 (MV1)를 보여줍니다. MV1은 다른 모달 뷰 (MV2)를 보여줍니다.현재 모달 및보기 컨트롤러가 제대로 작동하지 않습니다.

* MAINVIEW 코딩 : -

MV1 *MV1obj = [[MV1 alloc]initWithNibName:@"MV1" bundle:nil]; 
MV1obj.modalPresentationStyle=UIModalPresentationPageSheet; 
[self presentModalViewController:MV1obj animated:YES]; 
MV1obj.view.superview.frame = CGRectMake(0, 0,730,620); 
MV1obj.view.superview.center = self.view.center; 

내가 MAINVIEW에서 버튼을 클릭

는, MV1의 모델 뷰가 열려 그 폭과 높이가 730과 620 MV1의 모델 뷰는 하나하여 ImageButton이 포함되어 있습니다. 이 버튼을 클릭하면 MV2 모델 뷰가 열리고 모델 뷰 Mv2에 전체 화면 이미지가 표시됩니다.

* MV1 클래스 코딩 : -

MV2 *MV2obj = [[MV2 alloc]initWithNibName:@"MV2" bundle:nil]; 
MV2obj.modalPresentationStyle=UIModalPresentationFullScreen; 
[self presentModalViewController:MV2obj animated:YES]; 

하지만 dissmiss 때 모델 뷰는 MV2, MV1 모델 뷰가 전체 화면에 표시됩니다. 하지만 730 너비와 620 높이 Mv1 모델보기를 표시해야합니다. 누구나 코드의 문제점을 알 수 있습니까?

감사합니다.

+0

제거를이 라인 MV2obj.modalPresentationStyle = UIModalPresentationFullScreen; 그리고 체크 아웃하십시오. – Gypsa

답변

2

센터와 프레임을 명시 적으로 다시 설정하여 해결되었습니다. 당신이 self 해고 할 때 MV2 클래스에 다음 줄을 쓰기 :

-(IBAction)logoClick:(UIButton*)sender{ 
    [self dismissModalViewControllerAnimated:YES]; 

    UIViewController *vc = [self parentViewController]; // it's your MV1 instance 
    vc.view.superview.frame = CGRectMake(0, 0, 730, 620); 
    vc.view.superview.center = CGPointMake(1024/2, 768/2); 
} 
관련 문제