あなたのURLからlastPathComponent以外の別のタイトルを表示する必要がある場合は、あなたがQLPreviewItemのサブクラスを作成し、オプションのプロパティを実装する独自のタイトルを提供することができます。
インスタンスプロパティの宣言:
var previewItemTitle: String? { get }
プレビューアイテムとして表示するタイトル。
あなたがこのプロパティのゲッターメソッドを実装していない場合、またはあなたの メソッドがnilを返した場合、クイックルックは が ユーザーへの表示に適したタイトルを決定するためにプレビューされている項目のURLや内容を調べます。カスタムの タイトルを提供するために、このプロパティのためにnil以外の値を返します。
protocol QLPreviewItem : NSObjectProtocol
説明
QLPreviewItemプロトコルは(MacOSの中のiOSやQLPreviewPanelにQLPreviewController)あなたはQuickLookのプレビュー であなたの アプリケーションのコンテンツが表示されるように実装するプロパティを定義します。このプロトコルの メソッドも、NSURLクラスのカテゴリとして宣言されています。 その結果、プレビュー アイテムとしてNSURLオブジェクトを直接使用することができます。ただし、これらのアイテムのデフォルトのタイトルを使用する必要があります。 デフォルトのタイトルは、アイテムのURLの最後のパスコンポーネントです。 あなた自身のプレビューアイテムタイトルを提供したい場合は、このプロトコルを採用する独自のプレビュー アイテムオブジェクトを作成します。
まずサブクラスQLPreviewItem:
import UIKit
import QuickLook
class PreviewItem: NSObject, QLPreviewItem {
var previewItemURL: URL?
var previewItemTitle: String?
}
は、その後、あなたのコントローラであなたの代わりにURLのQLPreviewItemを返す:
import UIKit
import QuickLook
class ViewController: UIViewController, QLPreviewControllerDelegate, QLPreviewControllerDataSource {
let item = PreviewItem()
override func viewDidLoad() {
super.viewDidLoad()
item.previewItemTitle = "Custom Title"
item.previewItemURL = Bundle.main.url(forResource: "your file", withExtension: "ext")
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
quickLook()
}
func numberOfPreviewItems(in controller: QLPreviewController) -> Int {
return 1
}
func quickLook() {
let preview = QLPreviewController()
preview.delegate = self
preview.dataSource = self
preview.currentPreviewItemIndex = 0
present(preview, animated: true)
}
func previewController(_ controller: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem {
return item
}
}
どのように私は、ファイルの名前を変更せずに、URLの名前を変更することができますか? – derdida