UIPrintPageRenderer をサブクラス化して、AirPrint 経由で印刷するための独自のページを描画しています。フォントのサイズを変更したい単純な String オブジェクトがあります。drawAtPoint withAttributes メソッドを使用すると、文字列は正しい位置に描画されますが、フォント名とサイズは変更されません。UIPrintPageRenderer の drawPageAtIndex メソッド内で NSAttributedStrings を使用することは可能ですか?
サンプルコード:
import UIKit
class MyPrintPageRenderer: UIPrintPageRenderer {
override func drawPageAtIndex(pageIndex: Int, inRect printableRect: CGRect) {
let font = UIFont(name: "Times", size: 72.0)!
var stringAttributes = [NSObject: AnyObject]()
stringAttributes["NSFontAttributeName"] = font
let lineOne = "Some text"
let lineOnePointX = CGRectGetMidX(printableRect) - nameLineOne.sizeWithAttributes(stringAttributes).width / 2
let lineOnePointY = CGRectGetMinY(printableRect)
let lineOnePoint = CGPoint(x: lineOnePointX, y: lineOnePointY)
lineOne.drawAtPoint(lineOnePoint, withAttributes: stringAttributes)
}
}