gpt4 book ai didi

swift - QLPreviewController 工具栏未出现

转载 作者:行者123 更新时间:2023-11-30 13:14:15 27 4
gpt4 key购买 nike

我正在使用 QLPreviewController 来显示 PDF。现在我正在尝试将按钮项目添加到工具栏。当我打印工具栏项目时,我可以看到它们正在添加,但我的工具栏不会出现。为什么没有出现?

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)

最佳答案

根据我的推断,我不确定您是否将按钮添加到了正确的位置。但问题是您需要创建一个自定义 View Controller 并将 QLPreviewController 添加为 subview 。像这样的事情:

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)
}

您在这里看到的是在 Storyboard中添加了一个带有自定义 UIView 的 View Controller ,用于表示将由 QLPreviewController 使用的区域。只需在 Storyboard中添加所需的按钮并在类中连接它们的 socket 即可。这里最主要的是将 QLPreview Controller 设置为您在 Storyboard中添加的 View (即 qlView)的尺寸,并将 QLPreview 对象的框架设置为 qlView。最后一步是将 QLpreview 添加为 qlView 中的 subview 。

关于swift - QLPreviewController 工具栏未出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38417310/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com