当尝试通过情节提要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];
}
这是示例project with the issue的链接。
最佳答案
您的QLPreviewController未推送,因为[self navigationController]为零。
您必须像这样将UINavigationController添加到故事板:
(假设FirstViewController是您的UITableViewController)
从左到右:UITabBarController,UINavigationController,FirstViewController