Рисовать строковый объект с помощью UIFont в пользовательском UIPrintPageRenderer
Я создаю подкласс UIPrintPageRenderer, чтобы нарисовать свою собственную страницу для печати через AirPrint. У меня есть простой объект String, который я хотел бы изменить размер шрифта. Используя метод drawAtPoint withAttributes, строка выводится в правильном месте, но имя и размер шрифта не изменяются. Можно ли использовать NSAttributedStrings в методе drawPageAtIndex UIPrintPageRenderer?
Образец кода:
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)
}
}
1 ответ
Оказывается, я использовал NSFontAttributeName в качестве String в ключе stringAttributes, а не в самом типе. Удаление кавычек исправило проблему.