Swift-PDFAnnotationWidget中的widgetStringValue是偏移量。如何使文本显示在范围内?

时间:2018-09-30 20:28:49

标签: swift pdfkit pdf-annotations

我正在使用Swift 4中的新PDFKit,但遇到了一些麻烦(尽管总的来说,它是一个很棒的工具包)。从字面上看,仅在两周前,我有一个PDFAnnotationWidget可以在显示的矩形内正确显示文本,但是在最新更新之后,我现在遇到了麻烦。我已经阅读了有关可以解决此问题的属性的文档,但是我遇到了麻烦。

特定的问题是:如何获取widgetStringValue以在rect的边界内正确显示?

Lines cutting off text Bigger rect without cutoff text

我更改了矩形框的背景颜色,以使边界清晰可见。对于背景,这是将文本(通过小部件)写入到已经存在的PDF中,因此我试图使文本在行和列中正确显示。同样,完全相同的代码行也产生以下效果-一组文本偏移,另一组文本正常显示(我认为这是因为rect更大)。另外,此代码嵌入了另一个函数中,该函数实际上将使用传入的变量。为了方便起见,我将所有内容都设为常量。

    func writeTextLine(inRect rect: CGRect, lineText text: String, fontStyle font: UIFont, alignment: NSTextAlignment) {
    let newText = PDFAnnotation(bounds: rect,
                                forType: .widget,
                                withProperties: nil)

    newText.widgetFieldType = PDFAnnotationWidgetSubtype.text
    newText.font = UIFont(name: "ArialMT", size: 10)
    newText.alignment = .left
    newText.widgetStringValue = "Hello World"
    newText.backgroundColor =  UIColor.lightGray

    addAnnotation(newText)
}

0 个答案:

没有答案