0

伙计们,我需要有关 Storyboard 的帮助。我有一个带有表格和视图的情节提要,我想单击一个单元格并对视图进行事务处理。我将 DetalheMeuPostoAmigo 设置为 View 并在 didSelectRowAtIndexPath 中调用它,如下代码所示。

当我运行应用程序时,我没有收到任何错误,但事务也不起作用。我用警报进行了测试并且做得很好。我多次查看代码...

 Top10.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{   
   UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];   
   DetalheMeuPostoAmigo *detalhesMeuPostoAmigoVC = [storyboard instantiateViewControllerWithIdentifier:@"DetalheMeuPostoAmigo"];
   [self.navigationController pushViewController:detalhesMeuPostoAmigoVC animated:YES];
}

链接到故事板图像

4

5 回答 5

2

我不是这方面的专家,但尝试使用现有的 VC:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{    
   UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];    
   YOURCURRENTVC *detalhesMeuPostoAmigoVC = [storyboard instantiateViewControllerWithIdentifier:@"DetalheMeuPostoAmigo"]; 
   [self.navigationController pushViewController:detalhesMeuPostoAmigoVC animated:YES]; 
} 
于 2012-10-03T15:00:56.843 回答
1

您的初始 ViewController 不在 NavigationController 中。

在情节提要上选择 TableViewController 并从菜单中选择

编辑器 -> 嵌入 -> 导航控制器

在此处输入图像描述

于 2012-11-20T17:58:35.230 回答
1

我不知道答案。但我过去也有类似的问题。检查 self.navigationController == null 如果它是 null 这是你的问题。

蟒蛇

于 2012-10-03T15:01:51.183 回答
1

为什么不在表格单元格上创建 Segue?选择表格单元格,按控制键并将箭头拖到您的视图控制器并选择推送。为 Segue 提供标识符,您就完成了!

您的代码的问题是您没有在 UINavigationController 中嵌入 UITableview。通过选择“编辑器 -> 嵌入 -> 导航控制器”来嵌入它。然后你的代码应该可以工作。

仅供参考,故事板上的这篇文章很棒!

于 2012-10-03T15:21:46.627 回答
0

感谢所有答案,我测试了所有选项,但没有成功,低于 Sérgio 的测试

 UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];

        DetalheMeuPostoAmigo *detalhesMeuPostoAmigoVC = [storyboard instantiateViewControllerWithIdentifier:@"DetalheMeuPostoAmigo"];


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

    if (detalhesMeuPostoAmigoVC == nil) {
        NSLog(@"Is null?"); // Here is not Null

    }
    if (self.navigationController == nil) {
        NSLog(@"Is null?"); // Here is Null

    }
于 2012-10-04T00:53:25.153 回答