我通过在iPhone应用程序上拖动手指绘制多种颜色,但是当我最小化应用程序然后最大化时,我将失去所有绘图,因为它调用绘图方法。我不知道从何处调用此方法,但我无法看到此问题的任何解决方案。主要是当我在设备上运行许多应用程序时发生。我认为iOS会删除缓冲区中的所有数据,以防止iPhone的低性能。这个问题的解决方案是什么?为什么它失去了绘图?请帮忙!我没有找到任何解决这个问题的方法。当应用程序在前台丢失所有绘图
0
A
回答
0
该框架将根据需要调用drawRect,它是您调用时绘制视图的责任。无论何时调用drawRect,您都应该存储用户操作所需的任何状态以重绘视图。
1
因为您的视图在后台卸载,并且当您回到前台时,视图将被撤消,因此它将重新绘制。
当你进入后台时,如果设备内存不足,Apple会卸载后台应用程序的视图(甚至关闭你的应用程序),以扩大当前正在运行的应用程序的内存。您的视图会被卸载,当您回到前台时,视图将通过“数据”进行调整,因此请确保不要在视图中保留“数据”。
也许在iOS6的,苹果修改机制
1
我失去了我所有的图纸,因为它调用的drawRect方法。
从你的问题,它好像你是不是在你的drawRect方法绘制, 的drawRect方法被调用每次你的观点是更新/加载时间。所以当你从背景输入时,调用drawrect方法。如果您没有使用正确的方法处理绘图机制,则会丢失所有数据。
此方法的默认实现不执行任何操作。使用原生绘图技术(例如Core Graphics和UIKit) 绘制其视图内容的子类 应覆盖此方法并在其中执行 其绘制代码。如果您的视图以其他方式设置其内容,则不需要覆盖此方法。例如,如果您的视图仅显示背景颜色 或您的视图使用底层 对象直接设置其内容,则不需要 覆盖此方法。同样,如果您的视图 使用OpenGL ES进行绘制,则不应该重写此方法。
如果你正在处理它的其他方式,那么你需要处理,你的观点是在viewWillAppear中绘制在后。
否则可能会有内存原因,因为如果你得到内存警告,你通常会在初始化数据的地方调用ViewDidLoad。
相关问题
- 1. 当前haskell平台丢失fork最后
- 2. nhibernate当前会话在后台线程上创建后丢失
- 3. 应用程序/任务图标丢失
- 4. 导航栏是基于的TabBar应用程序有时会丢失当应用程序进入到后台
- 5. iPhone Web应用程序 - 呼叫应答时会话和当前网址丢失
- 6. 如何确定当前的应用程序在前台?
- 7. 使用意图的图像捕捉应用程序只保存当前图片..previouse图片每次丢失
- 8. 当应用程序在设备中运行时UIImageView丢失
- 9. Silverlight业务应用程序OOB - 丢失焦点后所有内容消失
- 10. 当应用程序处于后台时终止所有活动
- 11. 带有网格视图的UWP应用程序在滚动时丢失图像
- 12. 在Eclipse中我的Android应用程序中丢失了所有东西?
- 13. 获取当前前台应用程序的名称
- 14. 在当前运行的应用程序中绘制小活动
- 15. 有时,当在我的web应用程序中加载Default.aspx时会话丢失
- 16. 应用程序在后台消失
- 17. ios11 iPhone应用程序图标在iPad上丢失
- 18. 让应用程序在前台运行
- 19. 哪个应用程序在前台?
- 20. 当iPhone应用程序在后台运行时,AudioQueueStart失败iOS4.0
- 21. 当应用程序在前台通知包含自动打开
- 22. 显示通知提醒当应用程序在前台
- 23. Chrome应用程序丢失localStorage
- 24. 应用程序名称空间丢失
- 25. 应用程序密钥库丢失
- 26. Xamarin:发布Android应用程序丢失
- 27. Delphi应用程序丢失焦点
- 28. 参考应用程序代表“丢失”
- 29. facebook分享应用程序ID丢失
- 30. iOS:当应用程序返回前台时恢复先前可见的视图?