情景:
我有一个自定义视图(UIView的子类)绘制游戏板。为了能够放大和平移电路板,我将视图添加为UIScrollView的子视图。这种作品,但游戏板正在被错误地渲染。一切都很模糊,看起来没什么。
问题:
如何强制我的视图在不同比例下正确重绘?我正在提供我的视图当前比例并在滚动视图完成放大/缩小后发送setNeedsDisplay消息,但游戏板仍然被错误地渲染。我的观点应该是根据缩放级别重新绘制游戏板,但这不会发生。滚动视图是否对子视图执行泛型转换?有没有办法禁用这种行为?
答案 0 :(得分:0)
最简单的方法是以非常高的分辨率渲染游戏板,然后让ScrollView自动将其 down 缩放到您的显示尺寸。
基本上,将ScrollView的contentSize设置为较大的(比如1024x1024),并将游戏板放在其中的一个巨大视图中,大小相同(比如1024x1024)。然后只需让ScrollView处理 all 缩放问题。你甚至不需要拦截setNeedsDisplay或任何东西;就你的游戏而言,它总是以最高分辨率渲染。