我正在使用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)
}