2014-01-15 2 views
0

저는 ipad 앱이 있습니다.Presentview (전체 화면) 컨트롤러를 닫을 때 모델보기 자체 인 View1

전체 화면으로보기 2 (푸시보기의 종류)를 열려고합니다. 푸시보기 또는 UIModalPresentationFullScreen의 정상적인 수행 방법. 뷰 1 인 내베이스 뷰는 모달 뷰입니다. 보기 1은 기각 얻을 때

는 그래서 난 ...보기 2 열

- (void) handleNewButton :(int)id 
{ 
       [self dismissViewControllerAnimated:YES 
           completion:^{ 
            NewViewController *View2 = [NewViewController alloc] init]; 
            View2.modalPresentationStyle = UIModalPresentationFullScreen; 
            View2.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 

            [self presentViewController: View2 animated:YES completion:nil]; 

           }]; 

} 

을 시도했지만 내보기 (2)는 개방되지 않는다. 나는 푸시 뷰를 할 수 없다는 것을 압니다. 그러나 그것을 달성 할 수있는 방법이 있습니까?

답변

0

dismissViewControllerAnimatedUIViewController (이 경우 자체)은 사라지고, 더 이상 화면에 나오지 않는다는 의미에서 해제되거나 해제되면 다른 이야기입니다. View2 (매우 불량한 이름 인 경우 이상은ViewController2이어야 함)은 더 이상 화면에 표시되지 않는 UIViewController에서 표시하려고하기 때문입니다.

그래서 무엇을 할 수 있습니까? 이론

handleNewButton 방법의 맥락에서 현재 self는 다른 UIViewController에 의해 제시되었다 그것은 당신이 당신의 View2을 제시 할 위치에서이다.

내가 말한 것을 구현하는 가장 빠른 방법은 아마도 here이라고 표시된 알림 일 것입니다. 블록으로 처리 하겠지만 self을 만들면 UIViewController을 기각 할 때 dismissiCompletionBlock을 전달합니다.

+0

예 이름 (내가보기 2를 언급했던 것에 따라) 나는 단지 나의 질문에 대해 내 app ...을위한 나의 적당한 명명법을 가지고 있었다. 나는 내보기 1이 표시되는 기본보기를 저장하고 view1을 닫는 동안 기본보기에서보기를 푸시했지만 ... 원하는 결과를 얻지 못했습니다 ... – user2813740

+0

[self dismissViewControllerAnimated : 예 완료 :^{ NewViewController * View2 = [NewViewController alloc] init]; View2.modalPresentationStyle = UIModalPresentationFullScreen; View2.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; [m_vwMainPage.navigationController pushViewController : partDataView animated : YES]; }]; – user2813740

+0

위의 코드로이 작업을 수행했습니다 ... View1에 주보기를 저장하고 view1을 닫으면서 view2를 누르는 중 .... 내 기본보기의 복사본을 저장해야하므로 ...이 작업을 수행하는 더 좋은 방법은 무엇입니까? – user2813740

0

는 스토리 보드를 사용하지 않는 경우, 펜촉 이름으로

[self dismissViewControllerAnimated:YES 
           completion:^{ 
     NewViewController *n=[[NewViewController alloc]initWithNibName:@"NewViewController" bundle:nil]; 

      View2.modalPresentationStyle = UIModalPresentationFullScreen; 
      View2.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 
      [self presentViewController: View2 animated:YES completion:nil]; 

          }]; 

을 NewViewController를 할당하려고 또는 스토리 보드 사용하는 경우 식별자를 사용하여 NewViewController를 얻을.

관련 문제