0

単一の大きな UITableView を持つプロジェクトに取り組んでおり、すべてのセルが異なる ViewController に移動し、それぞれが個別の PDF を表示します。ただし、それを統合したいので、各セルは単一の PDF ViewController をロードし、タップされたセルに基づいてそれぞれの PDF をロードします。これは、PDF を読み込んで表示するためのこれまでのコードです。ヘッダーで:

    @property (weak, nonatomic) IBOutlet UIWebView *pdfView;

概して

    - (void)viewDidLoad
    {
        [super viewDidLoad];
        NSString *urlAddress = [[NSString alloc] init];
        urlAddress = [[NSBundle mainBundle] pathForResource:@"PDF1" ofType:@"pdf"];
        NSURL *url = [NSURL fileURLWithPath:urlAddress];
        NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
        [self.pdfView loadRequest:requestObj];
    }

このコードをどのように修正して、PDFViewController がどのセルが選択されたかを判断し、それぞれの PDF をロードするようにするにはどうすればよいでしょうか? ありがとう、ニック

4

1 に答える 1

0

あなたのPDFViewController

このようなプロパティを作成します@property(nonatomic, readwrite) NSString *selectedPDFUrl

tableViewContoller には、NSMutableArray *arrayOfPDFStrings;すべての URL をこの配列に追加します。

ユーザーがセル 'didSelectRowAtIndexPath copy that particular cell PDF url into thePDFViewController objectsselectedPDFUrl' プロパティを選択したとき。

-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{    
    PDFViewController*pdfView=[[PDFViewControlleralloc]initWithNibName:@"PDFViewControllers" bundle:nil];
    pdfView.selectedPDFUrl = [arrayOfPDfUrls objectAtIndex:indexPath.row - 1];

    [self.navigationController pushViewController:cards animated:YES];
}

これを行うと、この変数を介して URL にアクセスできますselectedPDFUrl

だからあなたはこのようなことをするべきです

- (void)viewDidLoad
    {
        [super viewDidLoad];
        NSString *urlAddress = [[NSString alloc] init];
        urlAddress = [[NSBundle mainBundle] pathForResource:selectedPDFUrl ofType:@"pdf"];
        NSURL *url = [NSURL fileURLWithPath: selectedPDFUrl];
        NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
        [self.pdfView loadRequest:requestObj];
    }
于 2013-10-08T20:52:38.803 に答える