栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

QLPreviewController更改标题吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

QLPreviewController更改标题吗?

如果您需要从URL显示除lastPathComponent以外的其他标题,则可以子类QLPreviewItem并提供实现可选属性的自己的标题:

实例属性声明:

var previewItemTitle: String? { get }

要显示的预览项目的标题。

如果您没有为此属性实现getter方法,或者您的方法返回nil,则QuickLook会检查要预览的项目的URL或内容,以确定要显示给用户的适当标题。返回此属性的非null值以提供自定义标题。


 protocol QLPreviewItem : NSObjectProtocol

描述

QLPreviewItem协议定义了您实现的属性,以使应用程序的内容在QuickLook预览(iOS中的QLPreviewController或macOS中的QLPreviewPanel)中可见。该协议中的方法也被声明为NSURL类的类别。因此,您可以将NSURL对象直接用作预览项目-
前提是您要使用这些项目的默认标题。默认标题是项目URL的最后一个路径部分。如果要提供自己的预览项目标题,请创建采用此协议的自己的预览项目对象。

第一子类QLPreviewItem:

import UIKitimport QuickLookclass PreviewItem: NSObject, QLPreviewItem {    var previewItemURL: URL?    var previewItemTitle: String?    init(url: URL? = nil, title: String? = nil) {        previewItemURL = url        previewItemTitle = title    }}

然后在您的控制器中返回QLPreviewItem而不是URL:

Xpre 11•Swift 5.1

import UIKitimport QuickLookclass ViewController: UIViewController, QLPreviewControllerDelegate, QLPreviewControllerDataSource {    var previewItems: [PreviewItem] = []    override func viewDidLoad() {        super.viewDidLoad()        previewItems = [ .init(url: Bundle.main.url(forResource: "your file 1", withExtension: "ext"),       title: "Custom Title 1"), .init(url: Bundle.main.url(forResource: "your file 2", withExtension: "ext"),       title: "Custom Title 2"),        ]    }    override func viewDidAppear(_ animated: Bool) {        super.viewDidAppear(animated)        quickLook()    }    func numberOfPreviewItems(in controller: QLPreviewController) -> Int { previewItems.count }    func quickLook(at index: Int = 0) {        let controller = QLPreviewController()        controller.delegate = self        controller.dataSource = self        controller.currentPreviewItemIndex = index        present(controller, animated: true)    }    func previewController(_ controller: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem { previewItems[index] }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/383410.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号