0

간단한 Xamarin Studio Storyboards 개념에 문제가 있습니다. 영상은 아래의 스크린 샷을 참조하고 downloadable source code here을 참조하십시오.PresentViewController 다른 NavigationController를 사용하지만 동일한 스토리 보드에있는 ViewController

MainViewController가있는 NavigationController가 있다고 가정 해 보겠습니다. 이것은 내 스토리 보드에 표시됩니다. 내가 눌렀을 때 RedViewController로 새로운 NavigationController를 가져 오는 버튼이 필요합니다. 또한 MainViewController와 같은 스토리 보드에서 RedViewController를 원합니다.

var myStoryboard = AppDelegate.Storyboard; 
// Instatiating View Controller with Storyboard ID 'StuffViewController' 
RedViewController = myStoryboard.InstantiateViewController ("RedViewController") as RedViewController; 
RedViewController.ModalTransitionStyle = UIModalTransitionStyle.CoverVertical; 
this.PresentViewController(RedViewController, true, null); 

RedViewController가 IT와 네비게이션 컨트롤러가 없습니다 :이 프로젝트에서, 나는이 작업을 수행 할 때 그렇게하지만 어떤 이유로하려고 노력했다. RedViewController의 네비게이션 컨트롤러가 표시되면 null입니다! 내가 뭘 잘못하고 있니? 나는 완전히 별도의 스토리 보드에있는 navigationController & BlueViewController을 만들 때
enter image description here

는 지금은 잘 작동합니다. 파란색 버튼을 누르면 BlueViewController로 이동하여 NavigationController를 올바르게 표시합니다. 왜이 제품은 작동 하나 다른 제품은 작동하지 않습니까? 내가 볼 수있는 유일한 차이점은 그들이 별도의 스토리 보드에 있다는 것입니다. 새로운있는 navigationController &의 ViewController의 ViewController를 제시 할 수
enter image description here

UIStoryboard storyBoard = UIStoryboard.FromName ("BlueStoryboard", null); 
UIViewController controller = storyBoard.InstantiateInitialViewController() as UIViewController; 
controller.ModalTransitionStyle = UIModalTransitionStyle.CoverVertical; 
this.PresentViewController (controller, true, null); 

의 ViewController는 네비게이션 바 "레드"라는 당신의 탐색 빨간 컨트롤러를 제공하려는 경우

Main Storyboard with additional Red NavigationController/ViewController Blue Storyboard, that works as desired.

답변

1

새보기 컨트롤러를 인스턴스화 할 때 RedViewController이 아닌 UINavigationController을 인스턴스화해야합니다.

'파란색'코드의 경우 Blue 컨트롤러가 포함 된 내비게이션 컨트롤러 인 initialViewController을 인스턴스화합니다. 당신은 'RedViewNavigationController는'레드 뷰 컨트롤러에 포함 된 네비게이션 컨트롤러에 대한 식별자입니다

RedViewNavigationController = myStoryboard.InstantiateViewController ("RedViewNavigationController") as UINavigationController; 

을 원하는

.

1

컨트롤러를 생성 할 때 네비게이션 컨트롤러를 인스턴스화해야합니다 (그러면 빨간색 컨트롤러를 인스턴스화합니다).

관련 문제