QuickLook Frameworkを使用してPDFリンクのクリックを傍受する(QLPReviewController) -- ios フィールド と xcode フィールド と quicklook フィールド と qlpreviewcontroller フィールド 関連 問題

Intercepting PDF Link Clicks using Quicklook Framework (QLPreviewController)












4
vote

問題

日本語

は、QuickLookで利用可能なPDFリンク処理ですか?

プロトタイプを作成し、QLPReviewControlLerDelegateメソッド - (BOOL)PreviewController:(QLPReviewController *)コントローラSheedOpenURL:(NSURL *)URL forPreviewItem:(ID)項目は、

リンク付きの.docxファイルを使用すると、デリゲートメソッドは起動します。

また、Safariを使用してPDFを開くとき、またはUIWebView、リンク処理は大丈夫です。

私はいくつかの異なるPDFでテストされ、リンク傍受は決してうまくいきませんでした。

私のインターフェースが以下のプロトコルを実装していることを確認しました。 QLPreviewControllerDataSource、QLPreviewControllerDelegate

SheedOpenURLメソッドを持つクラスがDelegateとしてQLPreviewControllerインスタンスに割り当てられていることを確認しました。

.Docx Link Interceptionは正常に機能していないため、問題は私のコードではないと思います。

私が間違っているかもしれないものについての何らかの考え?

は、QuickLookでもサポートされていてもPDFリンク遮断です。

私はiOSメールでPDFを開くとQuickLookを使い、PDFリンクがそこに機能しないことに気づいた。

英語

Is PDF Link handling available in Quicklook?

I created a prototype, and the QLPreviewControllerDelegate method -(BOOL)previewController:(QLPreviewController *)controller shouldOpenURL:(NSURL *)url forPreviewItem:(id)item never gets called.

When I use a .docx file with links in it, the delegate method does get fired.

Also, when I open up the PDF using safari, or a UIWebView, link handling works fine.

I tested with a few different PDFs, and link interception never worked.

I made sure that My interface implements the following protocols: QLPreviewControllerDataSource, QLPreviewControllerDelegate

I also made sure that the class that has the shouldOpenUrl method is assigned as the delegate to my QlPreviewController instance.

I am guessing the issue is not with my code, since the .docx link interception works fine.

Any thoughts on what I might be doing wrong?

Is PDF Link interception even supported by Quicklook?

I also noticed that when I open up a PDF in iOS mail, it uses Quicklook, and PDf links don't work there either.

</div
           

回答リスト

2
 
vote

ここでの土地のために私自身の質問に答えるのと同じ答えを探しています。 QuickLookはリンク処理をサポートしません。 PDF文書内のリンクを処理する必要がある場合は、CatileDLayerを使用してPDFをレンダリングする必要があります。

 

Answering my own question for those that land here looking for the same answer. Quicklook does NOT support link handling. You'll have to use CATiledLayer to render PDFs if you need to handle links in PDF documents.

</div
 
 
 
 
0
 
vote

<コード> QLPreviewControllerDelegate

を介してドキュメント内でリンクをクリックしたときに検出できます。 <事前> <コード> /* * @abstract Invoked by the preview controller before trying to open an URL tapped in the preview. * @result Returns NO to prevent the preview controller from calling -[UIApplication openURL:] on url. * @discussion If not implemented, defaults is YES. */ - (BOOL)previewController:(QLPreviewController *)controller shouldOpenURL:(NSURL *)url forPreviewItem:(id <QLPreviewItem>)item;

Returning YES はその文書を開くと、外部URLが自動的にSafariを起動します。

注意、Safariを開くためにアプリを終了したい場合は、UIALertviewをユーザーに尋ねるように表示することができます。

 

You can detect when a link is clicked in a document via the QLPreviewControllerDelegate

/*  * @abstract Invoked by the preview controller before trying to open an URL tapped in the preview.  * @result Returns NO to prevent the preview controller from calling -[UIApplication openURL:] on url.  * @discussion If not implemented, defaults is YES.  */ - (BOOL)previewController:(QLPreviewController *)controller shouldOpenURL:(NSURL *)url forPreviewItem:(id <QLPreviewItem>)item; 

Returning YES will open that document, if it's an external URL it will automatically launch Safari.

Note, you may want to show UIAlertView to ask the user if they want to exit the app to open Safari.

</div
 
 

関連する質問

1  QLPreviewController誤ったフォントを備えたPDFを表示します  ( Qlpreviewcontroller displaying pdf with incorrect fonts ) 
NIBからiPadアプリでPDFを生成しています。アプリはアプリ内のNIBで正しく表示されるカスタムフォントを使用します。この保存されたPDFをMy Macで表示すると、正しいフォントにも表示されます。 QLPreviewController でアプリ内に...

2  QuickLookプレビューアイテムのサムネイルを取得する方法  ( How can i get the thumbnail of a quicklook preview item ) 
QLPreviewControllerを使用してさまざまな文書をプレビューしています。コントローラには、コントローラ内のすべての文書の画像とタイトルが表示されている「リストビュー」オプションがあります。 どうすれば私は別の画面に表示することができます...

2  QuickLook / QLPreviewController(QLPreviewItem)IOS7でタイトルを変更するIOS7では大丈夫です  ( Quicklook qlpreviewcontrollerqlpreviewitem change title in ios8 in ios7 works ) 
QuickLookライブラリを使用して文書/写真をプレビューしようとしています。 IOS7&AMPの両方でコンテンツを開きたいと思ったら、すべてが大丈夫でした。 iOS8。 プレビューにあるアイテムの名前を変更したいです。 すべてがiOS7...

0  QLPreviewControllerは単一のファイルのみを表示します  ( Qlpreviewcontroller only shows a single file ) 
QLPreviewControllerを使用して一連のファイルを表示しています。しかし、それは最初のものを示すだけで、私は2番目を示すためにスワイプまたは何かをするようには思われることはできません。私は何が悪いのですか?手動で設定する必要がありますか。もしそ...

3  親ビューとは無関係に、QLPReviewControllerの回転を許可します  ( Allow rotation for qlpreviewcontroller independent of parent view ) 
私のアプリは回転をサポートしていません。しかし、回転をサポートする QLPreviewController を提示したいです。 このように<コード> QLPreviewController を表示します。 <事前> <コード> [self presentMod...

4  QLPreviewControllerまたはuidocumentInteractionControllerでは、拡張子なしでファイルを開きます  ( Open a file without extension with qlpreviewcontroller or uidocumentinteractionc ) 
QLPReviewControllerまたはUidoCumentInteractionControllerを使用してファイルを開く方法は、そのUTIを知っていますが、NSURLではファイル拡張子がありませんか?あなたの助けをありがとう! ...

2  QLPreviewControllerとしてサブビュー  ( Qlpreviewcontroller as subview ) 
QLPreviewControllerの使用にはほとんど問題がありません。確かに、私は私のアプリケーションでPDFを表示し、このクラスはUinavigationControllerアプリケーションでコントローラを押すとうまく機能します。このために、このチュー...

4  iOS 6 UIGestures(TAP)QLPreviewControllerの操作を停止  ( Ios 6 uigestures tap stops working with qlpreviewcontroller ) 
現在ナビゲーションコントローラでQLPreviewControllerを使用しています。 (PushViewController) ナビゲーションバーを非表示にするには、UitaPgestrureRecognizerを使用します。ユーザーはナビゲーションバーを...

8  3D Touch Peek Viewはアクションのためにスライドされません  ( 3d touch peek view will not slide up for action ) 
テーブルビューを持っています。 3D Touchでは、 QLPreviewController でPDFをプレビューします。 PEEKとPOPが意図したとおりです。 何らかの理由でプレビューコントローラビューをスライドさせてアクションアイテムを表示することはで...

1  QLPreviewControllerは、ピクチャファイルのアイコンを正しく表示しません  ( Qlpreviewcontroller does not show the icon correctly for picture file ) 
AppleのDocInteractionサンプルアプリをテストしています。シミュレータではうまく機能します。しかしiPadでは、画像のアイコンは表示されません。どんな提案でもこれを解決する方法? ...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有