【问题标题】:Using multiple detail views with TableView在 TableView 中使用多个详细视图
【发布时间】:2015-03-19 03:35:55
【问题描述】:

我试图在我的标签栏应用程序中实现一个表格视图页面。我已经成功地制作了一个包含数据的表格视图,我希望它能够将我带到详细视图。但是,我希望每个 Cell 都有单独的详细视图,以允许我使用 UI 创建更详细的详细视图。我已经给出了 Seque 的唯一 ID 来尝试执行此操作。

目前每次我按下按钮时它都会崩溃,将我带到 main.m

这是我的代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    switch (indexPath.row) {
        case 0:
            [self performSegueWithIdentifier:@"showDetail1" sender:self];
            break;
        case 1:
            [self performSegueWithIdentifier:@"showDetail2" sender:self];
            break;
        case 2:
            [self performSegueWithIdentifier:@"showDetail3" sender:self];
            break;
        case 3:
            [self performSegueWithIdentifier:@"showDetail4" sender:self];
            break;
        default:
            break;
     }
}

我得到的例外是:

“由于未捕获的异常'NSGenericException'而终止应用程序,原因:'找不到segue'showDetail2'的导航控制器。推送segues只能在源控制器由UINavigationController实例管理时使用。'”

谢谢!

【问题讨论】:

  • 你能发布发生的确切异常吗?
  • 我已经编辑了原始帖子,但在查看异常后仍然不确定如何修复它。谢谢!

标签: ios objective-c uitableview


【解决方案1】:

您在其中添加了tableViewViewController 应该是NavigationController 的一部分。 ViewController 只有在它是 NavigationController 的一部分时才能被推送。否则尝试使用Present Segue

解决方案 1:

将您的礼物 ViewController 添加到您的 tableView 中,作为 NavigationController 的一部分

如果您使用的是StoryBoard,请选择您在其中添加了tableView 的ViewController。选择控制器后,选择 Editor\Embed In\Navigation Controller

解决方案 2:

如果您不想使用Navigation/Push 设计,那么您可以提出ViewController。为此,您必须使用Present Segues

【讨论】:

  • 感谢您的帮助,带有 TableView 的 VC 实际上已连接到我的标签栏控制器,所以我也不知道如何将其添加到另一个导航控制器...谢谢
  • 按照我的回答中显示的步骤将您的 VC 添加到导航控制器,然后将此导航控制器嵌入到您的标签栏控制器。让我知道它是否有效。
  • 太棒了!非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多