我为iPhone创建了一个TabBarController应用程序,它有一个带有tabBar的mainView.xib,两个tabBar按钮和两个额外的视图。其他视图有一个UIMapkit和一个UITableView。我想要做的是在tableview中,我想在用户选中一行时调用UIMapKit视图。
我做了什么:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
MapViewController *NView = [[MapViewController alloc]
initWithNibName:nil
bundle:[NSBundle mainBundle]];
[self presentModalViewController:NView animated:YES];
}
为行创建操作。我的问题是它只显示UIMapKit而不是tabBarController。
TabBarController位于mainWindow中。
是否有一些我遗漏的代码?
答案 0 :(得分:0)
如果您需要切换到包含地图的标签,方法/属性selectedViewController
or selectedIndex
of UITabBarController可以为您提供帮助。
答案 1 :(得分:0)
根据您的代码,我认为您使用的是iPhone,而不是iPad。在iPhone上,模态视图占据整个屏幕,覆盖标签栏等。这是设计使然无法更改。 所以你需要像@adubr所说的那样设置并设置TabBarController的选定索引。但是你还需要从表视图中获取行索引到地图(可能是地图根据你点击的表行显示不同。)所以我不认为标签栏真的是你想要的。 看起来你需要一个UINavigationController,然后tableViewController可以创建一个NView实例并将其推送到nav con stack。