2016-07-17 25 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に追加することです。最後のステップは、QLpreviewをqlViewのサブビューとして追加することです。

関連する問題