NavigationController
의 titleView
으로 드롭 다운 메뉴가있는 애플리케이션이 있습니다. 사용자가 드롭 다운 메뉴의 항목을 선택하면 전체보기에서 내용을 전환해야하지만 NavigationBar
은 그대로 유지해야합니다. NavigationBar 은 데이터을 다시로드 할 필요가 없으며 제목보기 은 드롭 다운 메뉴이어야합니다.내비게이션 컨트롤러의 상태를 유지하고보기 만 변경하십시오.
응용 프로그램을 열 때 원래보기 :
드롭 다운 메뉴에 접촉시 뷰 :
내가 현재 이것에 대해가는 몇 가지 방법을 참조 :
각 옵션에 대해
UIViewController
을 설정하고 segue를 수행 한 다음 데이터를 다시로드하십시오. 이 나쁜 이유- : 내가 다운 메뉴 내 드롭 (15) 옵션이있는 경우 즉, 각
ViewController
에 대한 SEGUE 식별자를 설정해야합니다, 나는 주위에 누워 (210) SEGUE 식별자를 갖게됩니다. 내NavigationBar
데이터를 모두 다시로드해야합니다. - 왜 이렇게 좋을까요 : 개별적인보기를 설정하기위한 명확한 영역이 있습니다.
- : 내가 다운 메뉴 내 드롭 (15) 옵션이있는 경우 즉, 각
프로그래밍 내가 그들을
UIButtons
,UILabels
및UIWhatevers
필요에 따라 추가 및 제거 할 수 있습니다. 이 나쁜 이유- : 이것은 단지 하나의
ViewController
내부에 많은 코드를 작성하고 일이 디버그 어려운 얻을 수 있습니다. - 이유 :
NavigationBar
은 결코 다시로드되지 않습니다.
- : 이것은 단지 하나의
- : 내 모든 작업은 여전히 주요
ViewController
에있을 것 나는 하나의 컨트롤러 내부에 포함 된ViewController
의 논리를 관리해야 할 것이다. - 이유 :
NavigationBar
은 결코 다시로드되지 않습니다. 나는이 일을 가장 효율적인 방법을 모르기 때문에 다른 사람에 의해 제안 완전히 다른 방법.
ViewController
을 포함. 이 나쁜 이유
그래서, 결론, 내 View
내 주요 내용을 전환 할 때 내 NavigationBar
의 상태를 유지하는 가장 효율적인 방법은 무엇입니까?
이 UINavigationController는 응용 프로그램의 루트보기입니까? (기본적으로 하단에 UITabBar 대신 상단에 드롭 다운 메뉴가있는 UITabBarController) – Kevin
예 NavigationController가 루트보기입니다. –
옵션 3. 왜 복잡한 지 알 수 없습니다. 루트보기 컨트롤러는 컨테이너보기에서보기 컨트롤러를 전환하는 역할 만합니다. 포함 된 각보기 컨트롤러는 여전히 자체 포함됩니다 – Paulw11