如何在不改变缩放级别的情况下在UIScrollView中呈现自定义视图而不会扭曲视图?

时间:2009-01-08 21:02:04

标签: cocoa-touch

情景:

我有一个自定义视图(UIView的子类)绘制游戏板。为了能够放大和平移电路板,我将视图添加为UIScrollView的子视图。这种作品,但游戏板正在被错误地渲染。一切都很模糊,看起来没什么。

问题:

如何强制我的视图在不同比例下正确重绘?我正在提供我的视图当前比例并在滚动视图完成放大/缩小后发送setNeedsDisplay消息,但游戏板仍然被错误地渲染。我的观点应该是根据缩放级别重新绘制游戏板,但这不会发生。滚动视图是否对子视图执行泛型转换?有没有办法禁用这种行为?

1 个答案:

答案 0 :(得分:0)

最简单的方法是以非常高的分辨率渲染游戏板,然后让ScrollView自动将其 down 缩放到您的显示尺寸。

基本上,将ScrollView的contentSize设置为较大的(比如1024x1024),并将游戏板放在其中的一个巨大视图中,大小相同(比如1024x1024)。然后只需让ScrollView处理 all 缩放问题。你甚至不需要拦截setNeedsDisplay或任何东西;就你的游戏而言,它总是以最高分辨率渲染。