我已经构建了可以做到这一点的应用程序。考虑它的最佳方式是从最狭窄的部分开始,即单个视图控制器。在 iPod 示例中,这将包括艺术家、专辑、播放列表、歌曲等的控制器。请注意,如果您点击播放列表,它会将您带到歌曲列表。这是两个独立的视图控制器。
您在 iPod 应用程序上看到的每个选项卡中都有一个导航控制器。导航控制器包装了应用程序选项卡的根视图控制器。然后将每个导航控制器设置为选项卡控制器的 ViewControllers。代码看起来像这样
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
如果您想处理播放列表->选定播放列表中的歌曲列表的转换,您可以在播放列表视图控制器 ( [self.navigationController pushViewController:theListOfSongsViewController animated:SUREWHYNOT]
) 中执行此操作。