2012-03-23 71 views
0

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

谢谢!

回答

0

如果可能,只需在绘图前改变当前的变换矩阵,使用类似CGContextScaleCTM的东西。这将在光栅化之前缩放发送到Core Graphics的所有测量结果。

如果这是不可能的不管是什么原因,你应该考虑在1024x768还是绘图,但使用CGAffineTransformMakeScale施加适当transformUIView。这将以原始像素大小绘制,然后作为输出像素上的光栅操作缩小,因此效率会降低。

+0

谢谢! CGContextScaleCTM诀窍! – Frank 2012-03-23 23:45:00