尝试使用storyboard tableviewcontroller实现动态表(使用代码)时,执行以下代码时无法推送详细信息视图。
[[self navigationController] pushViewController:previewController animated:YES];
不会抛出任何错误。没有给出任何线索,除了选定的表格单元格突出显示为蓝色并保持这种状态。使用故事板时问题很普遍,但使用xib时则不然。
以下是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];
}
以下是示例project with the issue的链接。
答案 0 :(得分:4)
您的QLPreviewController未被推送,因为[self navigationController]为nil。
您必须在故事板中添加UINavigationController,如下所示:
(假设FirstViewController是你的UITableViewController) 从左到右:UITabBarController,UINavigationController,FirstViewController