2016-07-17 2 views
0

QLPreviewController를 사용하여 PDF를 표시하고 있습니다. 이제 도구 모음에 단추 항목을 추가하려고합니다. toolbarItems를 인쇄하면 추가되는 것을 볼 수 있지만 도구 모음은 나타나지 않습니다. 왜 나타나지 않는거야?QLPreviewController 도구 모음이 나타나지 않습니다.

func previewController(controller: QLPreviewController, previewItemAtIndex index: Int) -> QLPreviewItem { 


     let rightButton = UIBarButtonItem(title: "Title", style: UIBarButtonItemStyle.Plain, target: self, action: #selector(drawCircle)) 

     let rightButton2 = UIBarButtonItem(title: "Title2", style: UIBarButtonItemStyle.Plain, target: self, action: #selector(drawCircle)) 

     controller.setToolbarItems([rightButton, rightButton2], animated: false) 

     print(controller.toolbarItems) 

     let localUrl = String(format:"%@/%@", PDFFilePath, fileNameGroup) 
     let url = NSURL.fileURLWithPath(localUrl) 

     return url 
    } 

viewPDF = QLPreviewController() 

     viewPDF.dataSource = self 


     self.presentViewController(viewPDF, animated: true, completion: nil) 

답변

0

나는 당신이 올바른 위치에 버튼을 추가하고 있는지 확신하지 못했습니다. 하지만 문제는 사용자 정의보기 컨트롤러를 만들고 QLPreviewController를 하위보기로 추가해야한다는 것입니다. 이런 식으로 뭔가가 :

class CustomQLViewController: UIViewController { 

    var customQL=QLPreviewController() 
    @IBOutlet weak var qlView: UIView! //defined in storyboard for QLPreviewController 

    override dynamic func viewDidLoad() { 
     super.viewDidLoad() 
     customQL.dataSource = self 
     customQL.view.frame = CGRectMake(0, 0, qlView.frame.size.width, qlView.frame.size.height) 
     qlView.addSubview(customQL.view) 
    } 

당신이 여기에서 보는 것은 QLPreviewController에 의해 사용되는 지역을 나타내는 데 사용되는 사용자 정의의 UIView와 스토리 보드에 추가 뷰 컨트롤러입니다. 스토리 보드에 원하는 버튼을 추가하고 클래스의 콘센트에 연결하기 만하면됩니다. 여기서 중요한 것은 QLPreview 컨트롤러를 스토리 보드에 추가 한 뷰의 크기 (예 : qlView)로 설정하고 QLPreview 객체의 프레임을 qlView에 추가하는 것입니다. 마지막 단계는 qLView에서 하위보기로 QLpreview를 추가하는 것입니다.

관련 문제