7

我有一个带有 tabbarcontroller 的故事板。选项卡栏之一有一个表格视图,我希望当用户从表格视图中连续点击时打开一个详细视图。问题是当我打开详细视图选项卡栏和导航栏隐藏...在情节提要中,我将详细视图创建为新的视图控制器,然后创建一个新文件并将其引用到详细视图类。

didselectrowatindexpath 中的代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath  *)indexPath {

detalleYouTube *dvController = [[detalleYouTube alloc] init];

[self.navigationController pushViewController:dvController animated:YES];

}

先感谢您!

4

3 回答 3

7

这有点旧,但如果有人需要这样做,这是一个简单的方法:

您可以使用从标签栏中的视图添加一个 segue 来删除 YouTube,将标识符放入 segue 并执行以下操作:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath  *)indexPath
{
[self performSegueWithIdentifier:@"segueIdentifier" sender:tableView];
}
于 2012-12-04T20:44:47.790 回答
5

另一种方法是不使用 tableView:didSelectRowAtIndexPath 而是使用 prepareForSegue:sender

我这样做的方式是:

-(void)prepareForSegue:(UIStoryboardSegue*)segue sender:(id)sender
{
    DetailViewController *viewController = [segue destinationViewController];
    CustomObject *custObject = [arrayOfObjects objectAtIndex:[self.tableView indexPathForSelectedRow].row];
    viewController.objectNeeded = custObject;
}

这个例子是基于你的细节视图控制器连接到你的表视图控制器的想法。

于 2012-07-18T17:40:37.600 回答
4

我假设您将“详细信息”视图作为情节提要的一部分(而不是在单独的 XIB 中),如果是这样,您将需要在“详细信息”TabBarItem 序列的开头放置一个单独的 NavigationController。

这个页面有一个很好的教程,关于我认为你试图实现的目标:http: //maybelost.com/2011/10/tutorial-storyboard-in-xcode-4-2-with-navigation-controller-and-tabbar-controller -第1部分/

还可以查看这些链接以获取更深入的 Storyboard 教程:

http://www.raywenderlich.com/5138/beginning-storyboards-in-ios-5-part-1

http://www.raywenderlich.com/5191/beginning-storyboards-in-ios-5-part-2

于 2012-01-04T22:11:48.173 回答