2013-07-22 4 views
-4

팝업 메뉴를 만들 수 있습니다. VC가 있고 다른 VC가 애니메이션으로 나타나고 첫 번째 VC 위에 표시되기를 원합니다 (두 번째 VC는 화면 크기가 조금 작아야하므로 첫 번째 VC를 표시해야 함).iOS : 기존 UIViewController 위에 UIViewController 추가

나는 VC를 소개하는 것에 관해서 apple documentation를 읽었다. 그러나 그것은 내가 원하는 바가 아니다. 앞으로 나아갈 경로를주세요. 그것은 가능해야하고 나는 그렇게하기가 어렵지 않다고 생각합니다. 감사합니다 :)

+0

iPad 응용 프로그램을 만들고 있습니까? –

+2

귀하의 질문은 모호합니다. 더 열심히 노력하면 도움을받을 사람이 생길 수 있습니다. – Rog

+0

먼저 VC가 무엇입니까? – Krishnabhadra

답변

2

우선 VC 위에 VC를 표시 할 수 있습니다. 그러나 귀하의 문제에 대한 기본, 나는 다른 VC를 제시보다 UIView를 추진하는 것이 낫다고 생각합니다.

VC2 위에 VC1을 표시하려면 VC1이 아닌 하나의 루트 컨트롤러를 만들고 현재 VC1을 표시 한 다음 VC1이 아닌 루트 컨트롤러를 사용하여 VC2를 표시해야합니다. 아래 코드를 참조하십시오.

//In View Controller 1 VC1.m 

    AppDelegate *app = [UIApplication sharedApplication]; 
    UIViewController *rootVC = app.window.rootViewController; 
    [rootVC presentModalViewController:VC2 animate:NO]; 

하지만 다른 viewContrller의 뷰를 표시하고 뷰에 자체 컨트롤러가 있어야한다고 생각합니다. 컨트롤러를 자식 View Controller로 현재 viewController에 추가하고 현재 viewController에 뷰를 제공 할 수 있습니다. 이 방법 VC를 삭제하는 방법 :

을 도울 수 있다면

// In VC1.m 
    [self addChildViewController:VC2]; 
    [self addSubView:VC2.view];// You can do some animation here when the vc2.view show 

참조 :이보기? 네가하려는 일에 대해 잘 모르겠다. 그냥 삭제하고 다시 사용하지 않으려면 VC2를 다시 시도하십시오. 보기를 숨기고 메뉴 단추를 눌렀을 때 다시 표시됩니다. 시도해 볼 수 있습니다 :

 //First if you want to just hide it 
     VC2.view.hidden = YES; 
     // And the button you set, you can try 
     if(VC2 != nil) // it means the VC2 is created 
     { 
      if(VC2.view.hidden){VC2.view.hidden = NO;} 
      else {VC.view.hidden = YES} 
     }else{ 
      myViewC2 VC2 = [[myViewC2 alloc] init]; 
      [self addChildViewController:VC2]; 
      [self addSubView:VC2.view]; 
     } 
     //It's just a solution, you can also do some animation before its hidden 
+0

나는 그것을 시도 할 것이다, 나는 그것이 도울다는 것을 생각한다. 이것을 구현 한 후에 쓰겠습니다. –

+0

이것이 도움이되었습니다. 감사합니다! –

+0

하나만 더 질문이 있습니다. 다른 VC에서 제어 할 수있는 일종의 옵션 메뉴를 만드는 것이 좋습니다. 또는이 옵션을 관리하기 위해 (이미 할 일이 많은) 내 View Controller를 사용하는 것이 좋습니다. 팝업 메뉴가 추가 되었습니까? –

-1
+0

아니처럼, 나는 그 메뉴는 설정 버튼과 약간의 슬라이더를없는거야 그래서, 팝업 메뉴를 만들고 싶어했다 경우이보기 컨트롤러, 또는이를 관리한다? 내 첫 번째보기 컨트롤러? 나는 이것이 나쁜 생각이라고 생각한다. 첫 VC보기 위의보기를 추가하는 것은 'VC'에 그것을 할 수있는 방법을보기를 추가 할 때는 마지막으로 내가 다른 사람을 찾을 수없는 경우 방법) –

+0

될 것입니다. 나쁜 생각은 아닙니다. 모든 iOS 앱에서 그런 식으로 진행되는 방식입니다. –

+0

하지만 내 'VC'에 이미 할 일이 많아서 팝업 메뉴를 분리하고 싶다면 어떻게해야합니까? 하나의 VC에 추가 된 뷰보다 2 개의 VC가 가치가 있습니까? –

0

첫째, 자신, 당신이 UIViewUIViewController을 혼동하고 생각하지 "애니메이션"을 할 ViewControllers.

UIView은 터치에 대한 정보를 표시하고 응답하지만, UIViewController에 표시되는 내용을 업데이트하는 책임과 이러한 접촉으로 "수행 할 작업"을 전달합니다.

하나의보기 컨트롤러에서 nib에서 작성 /로드 한보기와 ​​다른보기 컨트롤러에서 다른보기 컨트롤러로 작성한보기가 있고 둘 다 동시에 표시하려는 경우 단일 UIViewController로 혼합하는 것이 좋습니다. 어쩌면 childViewController를 사용하고있을 수도 있습니다. 나중에 경우 며칠 전에 I answered a very similar question.

관련 문제