1

我正在开发一个用于显示多个 PDF 文档的 iPhone 应用程序。

我有一个 UItableview 显示来自 .plist 的我的 pdf 文件的名称,并且我有开源 VFR pdf 阅读器(https://github.com/vfr/Reader)。

我知道如何从 UI 按钮连接到 vfr 阅读器:

- (IBAction)didClickOpenPDF1SEMCYTO {
NSString *file = [[NSBundle mainBundle] pathForResource:@"1SEMCYTO" ofType:@"pdf"];    

ReaderDocument *document = [ReaderDocument withDocumentFilePath:file password:nil];

if (document != nil)
{
    ReaderViewController *readerViewController = [[ReaderViewController alloc] initWithReaderDocument:document];
    readerViewController.delegate = self;

    readerViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
    readerViewController.modalPresentationStyle = UIModalPresentationFullScreen;

    [self presentModalViewController:readerViewController animated:YES];

- (void)dismissReaderViewController:(ReaderViewController *)viewController {
[self dismissModalViewControllerAnimated:YES];}

显然我需要类似的东西,但我不知道如何/什么,唯一真正相似的主题是自定义 UITableViewCell 和 IBAction 但我不知道我是否可以使用其中的方法,

有什么想法请帮忙吗?

4

1 回答 1

0

对于表格视图,每点击一行,就会调用表格视图的didSelectRowAtIndexPath 的委托方法。(更多关于 UITableViewDelegate

利用 indexPath 参数,尤其是下面方法中传递的行来确定需要在 ReaderViewController 中显示的 PDF。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    // Navigation logic may go here. Create and push another view controller.
    ReaderViewController *readerViewController = [[ReaderViewController alloc] initWithReaderDocument:document];
    readerViewController.delegate = self;

    //determine the PDF to be shown based on indexPath.row

    readerViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
    readerViewController.modalPresentationStyle = UIModalPresentationFullScreen;

    [self presentModalViewController:readerViewController animated:YES];
}

请记住将您的表视图委托设置为实现上述方法的视图控制器,就像您如何设置 ReaderViewController 的委托一样。

于 2013-06-01T13:45:39.157 回答