当底层视图边界发生变化时,iOS Scale CGContextRef

时间:2014-10-31 19:45:56

标签: ios objective-c cgcontext

我正在使用这个简单的绘画应用教程作为基础:

http://www.effectiveui.com/blog/2011/12/02/how-to-build-a-simple-painting-app-for-ios/

除了这些基础知识之外,我希望能够缩放绘图板(保持纵横比),但这会导致CGContext的大小与框架的大小不匹配,因此检测到触摸的点,绘制线的位置以及刷新视图的位置以显示不再重合的线。

我尝试使用旧帧与新帧的比率来缩放上下文:

    CGFloat ratio = oldFrame.size.width / self.frame.size.width;
    CGContextScaleCTM(cacheContext, ratio, ratio);

但这必须过于简单化,不能给出理想的结果。

如何以这样一种方式缩放上下文,使其与底层视图保持同步以及接收到的触摸的映射?

0 个答案:

没有答案