3

VFR Reader コードを使用して iPad アプリに PDF 表示機能を追加しようとしています。

次のようなコードを使用して、既存の ReaderViewController を使用して Reader をフルスクリーン ページとして表示できます。

ReaderDocument *document = [ReaderDocument withDocumentFilePath:file password:nil];
if (document != nil)
{
    ReaderViewController *readerViewController = [[ReaderViewController alloc] initWithReaderDocument:document];
    // ...
    [self presentModalViewController:readerViewController animated:YES];
}

これは実際に非常にうまく機能します。

ただし、PDF の周りに他のもの (たとえば、上部にボタンが配置された永続的な表示バーなど) を配置したいので、理想的には、独自のビュー内にリーダー ビューが必要です。

私はiOSプログラミングにかなり慣れていないので、これを達成する方法がわかりません。誰かが私を正しい方向に向けて、サブビューで VFR Reader を使用して独自のビューを作成するために何をする必要があるか教えてもらえますか?

4

1 に答える 1

5

私はこれを行う方法を理解することができました。興味のある人のための解決策を次に示します。

PDF の場所のプレースホルダーとして UIView を含む xib を持つコンテナー ViewController を作成し、その viewDidLoad メソッドに次のように記述します。

// Create the sub-ViewController, the VFR Reader ViewController
ReaderDocument *document = [ReaderDocument withDocumentFilePath:pdfFile password:nil];
_readerViewController = [[ReaderViewController alloc] initWithReaderDocument:document];

// Pass on the required delegate for handling the close button
_readerViewController.delegate = self.delegate;

// Add the VFR Reader as a child
[self addChildViewController:_readerViewController];
[self.view addSubview:_readerViewController.view];
// Set the location of the VFR Reader to the same as the placeholder view
_readerViewController.view.frame =  self.pdfPlaceholder.frame; 
[_readerViewController didMoveToParentViewController:self];
于 2014-02-12T14:16:30.563 に答える