2017-01-20 8 views
0

2 개의 스토리 보드가 있습니다. Main.storyboard의 버튼이있는보기 컨트롤러가 있습니다. 버튼을 클릭하면 두 번째 스토리 보드 Second.storyboard가로드됩니다. 이것은 코드가 I가 Second.storyboard를로드하는 데 사용이다 I가 실행되는 경우 문제가 I '이 걸치는 것이 탐색 컨트롤러 2보기 제어기 A와 B.두 번째 스토리 보드를 사용할 때 내비게이션 컨트롤러 뒤로 버튼이 표시되지 않습니다.

이 Second.storyboard에서

DispatchQueue.main.async { 
    let storyBoard : UIStoryboard = UIStoryboard(name: "Second", bundle:nil) 

    let nextViewController = storyBoard.instantiateViewController(withIdentifier: "Tools") as UIViewController 
    self.present(nextViewController, animated:true, completion:nil) 
} 

다시 B로 돌아가서 A로 돌아가십시오.

내가 시도한 것 : 다른 프로젝트를 만들었습니다. 나는 main.storyboard에 내비게이션 컨트롤러와 2 개의 뷰 컨트롤러 A와 B를 내장했다. 이것은 잘 작동합니다. 뒤로 버튼이 표시됩니다. 나는이

// Do any additional setup after loading the view. 
self.title = "Title" 

let navigationBar = navigationController!.navigationBar 
navigationBar.tintColor = UIColor.blue 

let leftButton = UIBarButtonItem(title: "Left Button", style: UIBarButtonItemStyle.plain, target: self, action: nil) 
let rightButton = UIBarButtonItem(title: "Right Button", style: UIBarButtonItemStyle.plain, target: self, action: nil) 

navigationItem.leftBarButtonItem = leftButton 
navigationItem.rightBarButtonItem = rightButton 

내가이 줄 DispatchQueue.main.async {}없이 스토리 보드를로드 할 몇 가지 샘플을 참조 추가 시도

두 번째 스토리 보드를로드 할 때 내가 뭔가를 놓친 거지 말해. 하나; 내가 사용하지 않으면 에러가 발생하고 프로그램이 엉망이됩니다.

내비게이션 컨트롤러를 어떻게 추가합니까? 첫 번째 View Controller, Editor, Embed in, Navigation Controller를 선택합니다.

두 번째 스토리 보드에 탐색 컨트롤러를 표시하려고하는데 뒤로 버튼이 표시되지 않습니다.

바늘 이것은 내가하려고하는 두 번째 응용 프로그램이며 어떤 도움을 주시면 감사하겠습니다.

답변

1

"두 번째"선물 후 무엇을보고 있습니까? 탐색 헤더/제목 영역이 전혀 보이지 않습니까? 그냥 뒤로 버튼이 없습니다.

  • 어떻게 A에서 B를 밀고 있습니까?

  • "도구"가 "두 번째"의 탐색 컨트롤러가 아닌 것 같습니다. ;하지 A.에게

+0

그레이엄

나는이 posthttp이 답을 발견 Perks, 코드 조각을 가져 주셔서 감사합니다. 운수 나쁘게; 다음보기 컨트롤러를로드하지 않습니다. 오류 없음. 그냥 다음보기를로드하지 않습니다. –

+0

아, 미안, 내가 오해했다. 나는 내 대답을 바꾸었다. –

+0

두 번째 스토리 보드를로드하는 방법입니다. DispatchQueue.main.비동기는 { 하자 스토리 보드 : UIStoryboard = UIStoryboard (이름 : "둘째", 번들 : 전무) 할 nextViewController = storyBoard.instantiateViewController (withIdentifier : "도구")의 UIViewController self.present로 (nextViewController, 애니메이션 : 사실, 완료 : nil) }. 나는 어떤 제목도 보지 않는다, 나는 뒤로 버튼을 본다. –

0

presentViewController 기존 네비게이션 스택 외부 뷰 컨트롤러의 모달을 제시 호출 - storyBoard.instantiateViewController(withIdentifier: "Tools")를 호출 할 때 당신은 탐색 컨트롤러를 참조가되고 싶어요 그것은 당신의 UINavigationController 또는 다른 어떤 것에 의해 포함되지 않습니다. 오히려 모달을 제시보다는, 기존의 네비게이션 스택에

를 눌러 새로운 뷰 컨트롤러 : 당신이 당신의 새로운 뷰 컨트롤러가 탐색 모음을 원한다면, 당신은 두 가지 옵션이 있습니다

할 VC1 = self.storyboard ! .instantiateViewControllerWithIdentifier ("MyViewController")! !의 ViewController self.navigationController .pushViewController (VC1, 애니메이션 : TRUE) : ​​//stackoverflow.com/questions/25444213/presenting-viewcontroller-with-navigationviewcontroller-swift