当我在基于导航的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作为背景?然后,当内存不足时,您至少会收到回调.