"Cannot assign value of type 'Void' to type 'PDFAction?'" 为 PDFAnnotation 设置操作时出错
"Cannot assign value of type 'Void' to type 'PDFAction?'" error when setting an action for a PDFAnnotation
在我的 PDF 查看器应用程序中,我成功打开了一个 PDF 并显示了它的所有内容。该应用程序将始终显示的 PDF 非常大,有 130 页。在 PDF 的第二页中,有一个 table 的内容。我想在文本中添加 PDFButton
并滚动到用户选择的 PDF 中的正确页面。
我当前的代码显示了一个按钮,但我希望该按钮执行的操作导致错误:
Cannot assign value of type 'Void' to type 'PDFAction?'
这是我试过的代码:
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 文档中的不同页面?
您正在尝试将函数分配给需要 PDFAction
的变量。将引发错误的行替换为以下内容:
resetButton.action = PDFActionGoTo(destination: PDFDestination(page: page, at: .zero))
这会将带有您之前初始化的页面的 PDFDestination
传递给 PDFActionGoTo(destination:)
初始化程序。
如果要修改目的地的点,将PDFDestination
初始化器的at
参数更改为另一个CGPoint
值:
let point = CGPoint(x: 50, y: 100)
resetButton.action = PDFActionGoTo(destination: PDFDestination(page: page, at: point))
在我的 PDF 查看器应用程序中,我成功打开了一个 PDF 并显示了它的所有内容。该应用程序将始终显示的 PDF 非常大,有 130 页。在 PDF 的第二页中,有一个 table 的内容。我想在文本中添加 PDFButton
并滚动到用户选择的 PDF 中的正确页面。
我当前的代码显示了一个按钮,但我希望该按钮执行的操作导致错误:
Cannot assign value of type 'Void' to type 'PDFAction?'
这是我试过的代码:
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 文档中的不同页面?
您正在尝试将函数分配给需要 PDFAction
的变量。将引发错误的行替换为以下内容:
resetButton.action = PDFActionGoTo(destination: PDFDestination(page: page, at: .zero))
这会将带有您之前初始化的页面的 PDFDestination
传递给 PDFActionGoTo(destination:)
初始化程序。
如果要修改目的地的点,将PDFDestination
初始化器的at
参数更改为另一个CGPoint
值:
let point = CGPoint(x: 50, y: 100)
resetButton.action = PDFActionGoTo(destination: PDFDestination(page: page, at: point))