【问题标题】:Unable to push view from table view无法从表视图推送视图
【发布时间】:2012-01-03 23:56:36
【问题描述】:

我有一个表格视图控制器作为我的初始屏幕,并尝试对其进行设置,以便当我单击一行时,它会跳转到普通视图控制器。这是我选择行的部分的代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSLog(@"did select row");

    MyViewController * myViewController = [[MyViewController alloc] initWithNibName:@"myViewController" bundle:[NSBundle mainBundle]];
    [self.navigationController pushViewController:myViewController animated:YES];
}

NSLog 查询显示在控制台中,但视图没有被推送到显示中。我也尝试从 UIStoryboard 分配 MyViewController,但最终得到相同的结果。任何想法可能是什么问题?谢谢!

编辑:我已经附上了我的故事板的屏幕截图:

【问题讨论】:

  • 顺便说一句——你的变量名可能需要一些工作——“myview”确实建议使用 UIView 而不是 UIViewController
  • 你确定你真的在 UINavigationController 中有你的 tableview 吗?
  • @KristianGlass 啊我的错我会解决这个问题。
  • @Mattieu 我在表视图控制器中有一个表视图,我已检查它是初始视图控制器

标签: iphone ios5 xcode4.2


【解决方案1】:

我不使用storyboard,但是你不需要添加一个UINavigationController,并在上面推送UITableViewController吗?这就是它应该如何工作的,但也许故事板会为你解决这个问题。

【讨论】:

    【解决方案2】:

    我猜你得把它改成initWithNibName:@"myViewController"

    如果这不起作用,您必须检查 myViewController 是否有一个连接到 *view 的 UIView。

    【讨论】:

    • 这似乎对我不起作用。我认为 myViewController 有一个合适的 UIView...我附上了截图。
    • 嗯。右键单击该 UIView。它是否连接到 *view IBOutlet?
    • 什么都没有发生或者应用程序崩溃了?
    • 原来它没有连接到任何东西。我应该 ctrl 将 UIView 拖到 TableViewController 标头还是 myViewController 标头?
    • 没有右键单击它并将“新参考插座”(或类似的东西)拖到文件所有者,然后单击“查看”。 dl.dropbox.com/u/24625278/…
    【解决方案3】:

    尝试添加一行 [myView view];在你分配它之后。

    还记得在你推动它之后释放它。 [myView 发布];

    同时检查 IB 中的连接以确保 myView 已正确连接视图

    【讨论】:

    • 似乎不起作用。虽然现在当我点击表格行时出现异常。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-01
    • 1970-01-01
    相关资源
    最近更新 更多