我有一个为 OS X 编写的非常复杂的打印引擎,需要移植到 iOS。通常,它是NSView
在纸上打印各种字符串和图像的子类——想象一张发票。
现在我需要将它移植到 iOS - 我的第一步当然是使用各种宏来桥接 CG/NS 的东西(e.g. NSRect<->CGRect)
,我已经到了一个点,视图实际上打印在纸上(使用 - viewPrintFormatter
),但是坐标是翻转的,因为Cocoa Touch使用的是翻转后的坐标,所以整个布局是错误的。
有很多答案通过对当前上下文应用变换来翻转坐标,但是,这也会水平翻转任何打印的文本 - 因此,虽然布局正确,但文本难以辨认,这是一个大问题。
将整个引擎移动到翻转坐标是一种选择,但这将花费大量时间并且会带来许多其他问题。
有没有人遇到过这个问题并以某种方式解决了它?