1

当我从我的 SecondViewController 上单击一个单元格时,我想从Storyboard转到我的 DetailViewController 。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{
    NSLog(@"Clicked at row: %@", [barCodeArray objectAtIndex:indexPath.row]);


}

我如何推送到 DetailViewController 并用它发送 [barCodeArray objectAtIndex:indexPath.row]?

编辑:不工作的代码..

代码

/*DetailViewController *detailViewController1 = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
[self.navigationController pushViewController:detailViewController1 animated:YES]; 
[detailViewController1 release];
//[self.navigationController popViewControllerAnimated:YES];*/

在此处输入图像描述

4

1 回答 1

1

让我们假设Listviewcontroller是您的第一个包含 tableview 的视图控制器。从didSelectRow你想推Detailviewcontroller

1 .首先检查您的根视图控制器是否为导航控制器

如果您使用的是故事板,那么首先您的 rootviewcontroller 必须是Navigation Controller

要检查转到MainStoryboard文件。

它应该是这样的。

-> 导航控制器 -> Listviewcontroller -> Detailviewcontroller

2 . 一旦确认您的 rootviewcontroller 是Navigation Controller。然后从一个Listviewcontroller导航到Detailviewcontroller你必须使用“ Segue

从Listviewcontroller设置一个新的 segue到Detailviewcontroller

要设置新的 segue ,请按住 Ctrl 键单击位于 Listviewcontroller 场景中的原型单元,然后将生成的线拖到 Detailviewcontroller 场景中。

释放线路后,从出现的菜单中选择Push选项。

故事板将更新以显示表视图和 Detailview 控制器之间的 segue 连接。

打开Detailviewcontroller有必要引用这个特定的 segue。为此,请给出一个标识符。单击ListviewcontrollerDetailviewcontroller之间的segue 连接,显示 Attributes Inspector(View -> Utilities -> Show Attributes Inspector)并将 Identifier 值更改为“Detailview”。

Listviewcontroller添加下面的方法。

 -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
    {
        if ([[segue identifier] isEqualToString:@"Detailview"])
        {
            DetailViewController *detailViewController =
            [segue destinationViewController];

            // and add any other code which you want to perform.

        }
}

有关更多信息,请参阅此链接

在 Tabbarcontroller 中添加导航控制器......你可以像这个添加的图像一样。.  只是

我认为您需要查看此链接: In Storyboard with Navigation Controller and Tabbar Controller

于 2013-01-18T12:14:58.290 回答