1

I'm developing an ipad application about 2d drawing. I need a UIView.frame size of 4000x4000. But if I set a frame with size 4000x4000 the application crash since i get memory warning.

Right night I'm using 1600*1000 frame size and the user can add new object (rectangle) on frame. User can also translate fram along x and y axis using pan gesture in order to see or add new object.

Have you got some suggestion? how can I tackle this problem?

thanks

4

3 回答 3

1

好吧,我会建议长期以来在视频游戏中使用的东西 - 创建一个平铺 LOD 机制,只有当您放大特定图块时,它们才会以更高的分辨率渲染,而当缩小时,您只会渲染较低的分辨率.

于 2012-05-15T18:02:49.103 回答
0

Sounds like you want to be using UIScrollView.

于 2012-05-17T20:19:53.963 回答
0

如果基于形状(矩形、点、线或任何可以用简单的矢量数据表示)的绘图,则没有理由为绘图的整个大小创建 UIView。当用户使用存储的矢量数据在图形上平移时,您只需重绘当前可见的视图。绘图没有持久的位图表示。

如果使用位图数据进行绘图(即 Photoshop 类型的应用程序),那么您可能需要使用一种机制,将屏幕外数据缓存到辅助存储中,并在用户平移屏幕时将其加载回屏幕。无论哪种情况,UIView 只需要与物理屏幕尺寸一样大。

抱歉,我没有任何 iOS 代码示例 - 将其作为高级抽象并从那里开始工作。

于 2012-05-15T22:30:36.413 回答