2017-12-14 9 views
8

iOS 11에서 PDFKit은 iOS에서 사용할 수 있습니다. 그것은 UIPageViewController를 사용할 수 있지만 전환 스타일 (documentation)을 설정할 수는 없습니다.iOS 11 PDFKit - 컬 전이

기본값에서 페이지 컬링으로 PDFView의 PageViewController의 전환 스타일을 변경하는 방법이 있습니까?

답변

2

PDFView의 뷰 계층 구조를 살펴본 결과 UIPageViewController를 사용하고있는 것처럼 보입니다. 그러나 초기화 중에 만 속성을 설정할 수 있으므로 전환 스타일을 말림으로 설정하는 것은 불가능합니다.

하나의 해결 방법 많은 수의 페이지를로드 할 때 PDF를로드 할 때 자신의 UIPageViewController를 만들고 페이지가 해당 인덱스로 설정된 PDFView를 포함하는 컨트롤러를 볼 수있는 데이터 소스에 뷰 컨트롤러를 설정하는 것이 좋지만 노력했습니다.

let pageCount = self.pdfDocument!.pageCount - 1 
for index in 0...pageCount { 
    let page: PDFPage = self.pdfDocument!.page(at: index)! 
    let pdfView: PDFView = PDFView(frame: self.view.frame) 
    pdfView.document = self.pdfDocument 
    pdfView.displayMode = .singlePage 
    pdfView.go(to: page) 
    pdfView.autoScales = true 
    let vc = UIViewController() 
    vc.view = aView 
    pages.append(vc) 
} 

다시 이것은 좋은 해결책입니다.

+1

예, 나는 결론을 내 렸습니다. 문제점은 각 페이지마다 PDFView를 만드는 것이 비효율적 인 해결책이라는 것입니다. 페이지를 표시하는 것이 그의 직업이 아닙니다. 필자는 또한 애플에게 PDF를 컬링 페이지 전환으로 표시하는 샘플 프로젝트가 있음을 확인했지만 PDFKit 이전에 만들어졌으며 실제로 버그가 있습니다 (https://developer.apple.com/library/content/samplecode/ZoomingPDFViewer/Introduction/Intro). .html). – ale00

+0

quicklook 프레임 워크를 사용하여 .pdf 파일을 읽는 것을 포함하여 문서를 미리 볼 수도 있습니다. https://www.appcoda.com/quick-look-framework/ –

+0

@HariNarayanan 파일 만 표시되는 것을 원하지 않습니다. 상호 작용을 위해 PDFKit이 필요합니다. – ale00