PDFView の表示設定まとめ
関連記事
※ iOS 11 beta 時点での検証です
検証コード
- (void)viewDidLoad { [super viewDidLoad]; PDFView *view = [[PDFView alloc] initWithFrame:self.view.bounds]; view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; view.autoScales = YES; view.displayDirection = kPDFDisplayDirectionVertical; view.displayMode = kPDFDisplaySinglePage; view.displaysRTL = NO; [self.view addSubview:view]; NSURL *URL = [[NSBundle mainBundle] URLForResource:@"test" withExtension:@"pdf"]; PDFDocument *document = [[PDFDocument alloc] initWithURL:URL]; view.document = document; }
検証結果
画像の数字は表示ページ数
白背景は初期状態で表示される部分、灰色部分はスクロール領域の部分
displaysRTL = NO
| kPDFDisplayDirectionVertical | kPDFDisplayDirectionHorizontal | |
|---|---|---|
| kPDFDisplaySinglePage | ![]() |
![]() |
| kPDFDisplaySinglePageContinuous | ![]() |
![]() |
| kPDFDisplayTwoUp | ![]() |
![]() |
| kPDFDisplayTwoUpContinuous | ![]() |
![]() |
displaysRTL = YES
| kPDFDisplayDirectionVertical | kPDFDisplayDirectionHorizontal | |
|---|---|---|
| kPDFDisplaySinglePage | ![]() |
![]() |
| kPDFDisplaySinglePageContinuous | ![]() |
![]() |
| kPDFDisplayTwoUp | ![]() |
![]() |
| kPDFDisplayTwoUpContinuous | ![]() |
![]() |
以下の2点がポイント
displaysRTLの設定はkPDFDisplayTwoUpとkPDFDisplayTwoUpContinuousの時のみ効果有りで見開きの左右を指定するパラメータkPDFDisplayTwoUpContinuousにしているとkPDFDisplayDirectionHorizontalの設定は効果無し。見開きのまま横スクロールは出来ない。(仮に横スクロール出来たしたとしてもkPDFDisplaySinglePageContinuousと見た目が変わらないため?)
という事で、ページ送り(スクロール)自体を右から左にしてくれるオプションは無いようなので日本の小説や漫画など縦書きのコンテンツを表示させる場合は Continuous モードを使わないで自前でページ移動を実装する必要がある。






