iPhone应用程序 – 内存警告后背景消失

当我在基于导航的iPhone应用程序中收到内存警告时,背景图像会在之前分配的导航控制器中消失.

背景图像被设置为UIView的背景属性.然后将此视图添加到App委托的主窗口中:

UIView *backgroundView = [[UIView alloc] initWithFrame: window.frame];

backgroundView.backgroundColor = [UIColor colorWithPatternImage:[[Utilities sharedManager] getImageWithName:@“Hintergrund2”]];
 backgroundView.tag = 56789;
 [window addSubview:backgroundView];
 [backgroundView发布];

[window addSubview:[navigationController view]];

[window makeKeyAndVisible];

收到内存警告消息并按下导航控制器的后退按钮后,上一个导航控制器显示正常的Apple灰色背景.我必须导航回我的主屏幕并向前导航以“重置”背景图像.

谁能告诉我为什么背景消失了?这不是因为图像,当我将背景设置为像blackColor这样的标准UIColor时,背景(颜色)也会消失.

预先感谢您的帮助!

问候

菲尔

最佳答案 在内存不足的情况下,未定义操作系统直接添加到主UIWindow的内容.

也许考虑使用简单的UIViewController作为背景?然后,当内存不足时,您至少会收到回调.

点赞