Ios “无法将类型为“Void”的值分配给类型为“PdFantion?”“为PdFantion设置操作时出错。”
在我的PDF Viewer应用程序中,我成功地打开了一个PDF并显示了它的所有内容。该应用程序将始终显示的PDF文件相当大,有130页。在PDF的第二页,有一个目录。我想在文本中添加一个PDFButton,并滚动到用户选择的PDF中的正确页面 我的当前代码显示一个按钮,但我希望该按钮执行的操作会导致错误: 无法将“Void”类型的值指定给“pdp”类型 以下是我尝试过的代码:Ios “无法将类型为“Void”的值分配给类型为“PdFantion?”“为PdFantion设置操作时出错。”,ios,swift,pdf,pdfkit,Ios,Swift,Pdf,Pdfkit,在我的PDF Viewer应用程序中,我成功地打开了一个PDF并显示了它的所有内容。该应用程序将始终显示的PDF文件相当大,有130页。在PDF的第二页,有一个目录。我想在文本中添加一个PDFButton,并滚动到用户选择的PDF中的正确页面 我的当前代码显示一个按钮,但我希望该按钮执行的操作会导致错误: 无法将“Void”类型的值指定给“pdp”类型 以下是我尝试过的代码: func insertResetButtonInto(_ page: PDFPage, GoTo: PDFPage) {
func insertResetButtonInto(_ page: PDFPage, GoTo: PDFPage) {
let resetButtonBounds = CGRect(x: 90, y: 200, width: 200, height: 15)
let resetButton = PDFAnnotation(bounds: resetButtonBounds, forType: PDFAnnotationSubtype(rawValue: PDFAnnotationSubtype.widget.rawValue), withProperties: nil)
resetButton.widgetFieldType = PDFAnnotationWidgetSubtype(rawValue: PDFAnnotationWidgetSubtype.button.rawValue)
resetButton.widgetControlType = .pushButtonControl
resetButton.backgroundColor = UIColor.green
page.addAnnotation(resetButton)
// Create PDFActionResetForm action to clear form fields.
resetButton.action = pdfView.go(to: page)
}
如何在PDF中创建一个按钮,作为序列或滚动函数,将用户带到同一PDF文档中的不同页面?您正在尝试将一个函数分配给一个需要PDP的变量。将引发错误的行替换为以下内容:
resetButton.action = PDFActionGoTo(destination: PDFDestination(page: page, at: .zero))
这会将带有您先前初始化的页面的pdfdestation传递给pdfdgotodestination:initializer
如果要修改目标点,请将PDFDestination初始值设定项的at参数更改为另一个CGPoint值:
我知道这是一个单独的问题,但你知道我如何在应用程序中将PDFButton切换到不同的ViewController吗?或者这不能通过PDFButton来完成吗?@voodoo检查这个问题,了解一个委托方法,该方法允许您在点击PDFAnnotation时运行自定义函数:如何将目标点设置为页面顶部?@voodoo将at值设置为.0。
let point = CGPoint(x: 50, y: 100)
resetButton.action = PDFActionGoTo(destination: PDFDestination(page: page, at: point))