문제

iPod/Music 응용 프로그램이 재생 목록을 탐색하기 위해 사용하는 것과 동일한 하이브리드 탐색 및 탭 막대를 사용하고 싶은 응용 프로그램을 작성하고 있습니다.

원래:

  • 내비게이션 특정 목록 트리를 더 깊이 파고 들기위한 내비게이션.
  • 바닥을 따라 탭 막대가 목록 사이를 전환하여 대부분의/모든 하위 크리엔스에 나타납니다.
  • 탭 막대의 내용은 모든 화면 사이에서 일정합니다.
  • 태핑에 대한 탭 막대의 반응은 모든 화면에서 동일합니다. 사용자를 루트로 되돌려 놓고 해당 목록에 올려 놓습니다.

탭에 내비게이션이 포함되어 있고 내비게이션에 포함 된 탭? 그것은 내가 원하는 것을 꽤 할 것 같지 않습니다. 반면에 기본 탐색 앱을 사용하고 탭을 추가하면 추가 코드가 많지 않습니까?

이것에 대한 가장 좋은 기본 접근법은 무엇입니까?

도움이 되었습니까?

해결책

나는 이것을하는 앱을 만들었습니다. 그것에 대해 생각하는 가장 좋은 방법은 가장 좁은 부분 인 개별보기 컨트롤러에서 시작하는 것입니다. iPod 예제에는 아티스트, 앨범, 재생 목록, 노래 등을위한 컨트롤러가 포함됩니다. 참고 재생 목록을 탭하면 노래 목록으로 이동합니다. 이들은 두 개의 개별 뷰 컨트롤러입니다.

iPod 앱에 표시되는 각 탭에는 내비게이션 컨트롤러가 있습니다. NAV 컨트롤러는 앱 탭의 루트보기 컨트롤러를 랩핑합니다. 그런 다음 각 NAV 컨트롤러는 탭 컨트롤러의 뷰 구성 자로 설정됩니다. 코드는 다음과 같이 보일 것입니다

FirstTabViewController *first = [[FirstTabViewController alloc] init...];
SecondTabViewController *second = ...;

UINavigationController *nav1 = [[UINavigationController alloc] initWithRootViewController:first];
UINavigationController *nav2 = [[UINavigationController alloc] initWithRootViewController:second];

myTabBarController.viewControllers = [NSArray arrayWithObjects:nav1, nav2, nil];
// Then make sure to release things to avoid leaks

선택한 재생 목록에서 Say, Playlists-> 노래 목록에서 전환을 처리하려면 재생 목록 ViewController에서이를 수행 할 수 있습니다 ([self.navigationController pushViewController:theListOfSongsViewController animated:SUREWHYNOT]).

다른 팁

지금까지 각 창에 UinavigationControllers가있는 UitabbarController를보고있는 작은 사용자 정의 코드와 함께 대상 탭에서 내비게이션 컨트롤러를 탭 스위치의 루트로 다시 팝업 할 수 있습니다.

Apple은 View Controllers (탭 컨트롤러 내부의 탐색 컨트롤러)를 결합하는 훌륭한 문서를 가지고 있습니다.

http://developer.apple.com/iphone/library/featuredarticles/viewcontrollerpgforiphoneos/combiningViewControllers/combiningViewControllers.html

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top