如何使用从iPad大小到iPhone大小的绘图缩小UIView?

时间:2012-03-23 22:35:44

标签: objective-c uiview core-graphics

我有一个自定义的UIView(graphView),它基于iPad屏幕尺寸1024 x 768在drawRect中绘制一个复杂的图形。我想采用这个视图并将其缩小以便在iPhone上使用。我希望使用相同的绘图代码并缩小视图,而不是重新计算我的图形或创建位图缓存。在没有Interface Builder的情况下即时创建的视图 萎缩的最佳方法是什么? 我应该将视图放在UIScrollView中吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

如果可能,只需在绘图之前使用CGContextScaleCTM之类的内容更改当前变换矩阵。这将扩展在光栅化之前发送到Core Graphics的所有测量值。

如果无论出于何种原因无法做到这一点,您应该考虑使用1024 * 768,但使用transform将合适的CGAffineTransformMakeScale应用于UIView。这将以原始像素大小绘制,然后缩小为输出像素上的光栅操作,因此效率会降低。