0

尝试使用情节提要 tableviewcontroller 实现动态表(使用代码)时,执行以下代码时无法推送详细视图。

[[self navigationController] pushViewController:previewController animated:YES];

没有错误被抛出。没有给出任何线索,除了选定的表格单元格以蓝色突出显示并保持不变。该问题在使用情节提要时很普遍,但在使用 xibs 时则不然。

这是didSelectRowAtIndexPath方法:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    QLPreviewController *previewController = [[QLPreviewController alloc] init];
    previewController.dataSource = self;
    previewController.delegate = self;

    // start previewing the document at the current section index
    previewController.currentPreviewItemIndex = indexPath.row;

    [[self navigationController] pushViewController:previewController animated:YES];
    [previewController release];
}

这是一个有问题的示例项目的链接。

4

1 回答 1

4

您的 QLPreviewController 没有被推送,因为 [self navigationController] 为 nil。

您必须像这样将 UINavigationController 添加到情节提要中:

(假设FirstViewController是你的UITableViewController) 从左到右:UITabBarController、UINavigationController、FirstViewController

于 2012-07-25T19:22:23.600 回答