2011-10-16 2 views
8

새로운보기 컨트롤러에서 popoverSegue를 만들고 세 번째보기 컨트롤러를 원래 스택으로 푸시하려고합니다.iOS 5 Storyboard에서 Popover에서 새로운 장면을 원래보기 컨트롤러로 어떻게 푸시합니까?

  1. MainStoryboard.storyboard 파일을 선택하고 새로운 Single View Application
  2. 선택 Use Storyboards
  3. 만들기 : 이것은 내가 응용 프로그램을 만드는거야 방법이다.
  4. 유일한보기 컨트롤러를 선택하고 객체 라이브러리에서 두 개의 새로운 View Controller 객체 캔버스
  5. 변경 Title과에 새보기 컨트롤러의 IdentifierEditor->Embed In->Navigation Controller
  6. 드래그를 선택 initialViewTitleIdentifier 변경 : popoverViewnewView.
  7. 개체 라이브러리의 Round Rect Button 개체를 initialViewpopoverView으로 추가하십시오.
  8. 오브젝트 라이브러리의 Label 오브젝트를`newView '에 추가하십시오.
  9. 컨트롤 initialView의 버튼을 클릭하고 popoverView으로 드래그하십시오.
  10. 나타나는 Storyboard Segues 메뉴에서 Popover 옵션을 선택하십시오.
  11. 컨트롤 popoverView에서 버튼을 클릭하고 newView으로 드래그하십시오.
  12. Storyboard Segues 메뉴에서 Push 옵션을 선택하십시오.
  13. 빌드 & 실행.

을 클릭하여 첫 번째 버튼과 팝 오버가 나타납니다,하지만 당신은 팝 오버 내에서 버튼을 클릭하면 아무 일도 발생하지 않습니다 (그것은 새보기를 밀어해야하지만하지 않습니다.)

내가을 원하는 무엇 해야 할 일은 Navigation Controller 스택으로 밀어 넣는 것이지만 스토리 보드를 설정하는 방법은 잘 모릅니다.

아이디어가 있으십니까?

답변

1

소리가 잘 나는 것처럼 보이지만 다음을 시도하지 않는 경우 : 1. 작동하지 않는 부분을 클릭하고 식별자를 지정하십시오. PopoverToNewSegue라고합시다.

  1. 팝업보기 컨트롤러 용 구현 파일에서 버튼을 클릭하면 작업을 추가하십시오.

  2. 해당 함수는 void를 반환하고 다음 줄을 추가해야합니다. [self performSegueWithIdentifier : @ "PopoverToNewSegue"sender : self];

그러면 세그가 실행됩니다. 나는 단편들이 당신이 기대하는 것처럼 항상 작동하는 것은 아니라는 것을 알았지 만, 이것은 단호하게 나를 위해 일합니다.

+1

동일한 문제가 있습니다. 당신이 말했듯이 performSegueWithIdentifier를 호출하려고 시도했지만 아무 것도하지 않았습니다. ( – jrwren

6

UINavigationController 계층 구조가 제시된 팝업으로 확장 될 것으로 예상됩니다. 그렇지 않습니다. 모달 뷰 컨트롤러를 표시 할 때도 마찬가지입니다. self.navigationControllerpopoverView에 기록하면이 값이 0으로 표시됩니다.

popoverView을 자신의 UINavigationController에 삽입하십시오. prepareForSegue:sender:을 무시하고 팝업을 구성하려는 경우 대상이 이제 UINavigationController의 인스턴스이므로 topViewControllerdestinationViewController에서 가져와야합니다.

+1

설명하면 내 문제를 해결할 수있었습니다. (http://stackoverflow.com/questions/13591559/how-to-pass-parameters-to-a-popover- view-controller-inside-a-navigation-controll) 감사합니다. – HpTerm

+0

작은 예제를 추가해 주시겠습니까? – MiQUEL

관련 문제