我想要一个标签栏控制器,然后是一个具有相应详细视图的表视图控制器。我是新手,所以我尝试结合Apple的SimpleDrillDown: http://developer.apple.com/library/ios/#samplecode/SimpleDrillDown/Introduction/Intro.html
...与Ray Wenderlich关于故事板的教程: http://www.raywenderlich.com/5138/beginning-storyboards-in-ios-5-part-1
Ray's向您展示如何设置选项卡并获取第一个表视图,但之后没有向您展示如何获取详细信息视图,因此我尝试了解如何从Apple的SimpleDrillDown获取详细信息视图(没有标签栏控制器。)
我的程序运行时没有错误,但是当您单击表视图中的一行(FactSheetsViewController)时,它会保持蓝色(已选中)并且永远不会转到我的FactSheetsDetailViewController。如果我在这个方法的表视图类中放置一个断点:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([[segue identifier] isEqualToString:@"DisplaySelectedFactSheet"]) {
NSIndexPath *selectedRowIndex = [self.tableView indexPathForSelectedRow];
FactSheetsDetailViewController *detailViewController = [segue destinationViewController];
detailViewController.factSheet = [dataController objectInListAtIndex:selectedRowIndex.row];
}
}
当我运行程序并单击一个单元格时,永远不会达到断点。
我不确定要发布的其他代码,因为我不确定我做错了什么。我想知道我的AppDelegate中是否错误地初始化了东西?
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
UINavigationController *navigationController = [[tabBarController viewControllers] objectAtIndex:0];
FactSheetsViewController *factSheetsViewController = [[navigationController viewControllers] objectAtIndex:0];
DataController *controller = [[DataController alloc] init];
factSheetsViewController.dataController = controller;
self.dataController = controller;
return YES;
}
或者,如果我没有以某种方式在故事板中正确设置。我将标识符从FactSheetsViewController设置为我的segue,将属性检查器中的“FactSheetsDetailView”设置为“DisplaySelectedFactSheet”。
如果有帮助,我很乐意发布更多细节 - 请告诉我!谢谢。
答案 0 :(得分:1)
在Xcode中,您需要在表格单元格(原型)和FactSheetsDetailViewController
之间创建一个segue。然后,同样在Xcode中,将segue名称编辑为DisplaySelectedFactSheet
。