我创建了一个带有主视图的信息亭应用程序和一个带有图像轮播的模式视图作为屏幕保护程序。每当触摸屏幕时,此模态视图就会向下滑动。
如果设备在应用程序运行的情况下长时间(一夜之间)单独放置,当屏幕保护模式动画消失时,屏幕会出现重绘问题。看起来操作系统在主屏幕的背景图像所在的位置没有任何东西可以绘制。主屏幕上的控件和文本按应有的方式绘制,只有背景图像被模态隐藏动画的伪影替换。这发生在两台设备(iPad 2 3G 16GB)上。这只发生在应用程序运行了很长时间的情况下,屏幕是否打开并不重要。有问题的背景 UIImageView 是一个普通的 UIImageView,除了“图像”之外没有任何属性发生变化。
它看起来像这样(客户端徽标和一些文字模糊):http ://tinypic.com/view.php?pic=2qx47bt&s=6
关于什么可能是错误的以及如何解决它的任何想法?
编辑:这是隐藏屏幕保护程序的代码。非常标准,没有恶作剧。
- (void)hideScreenSaver {
dispatch_async(dispatch_get_main_queue(), ^{
if (![[[self mainViewController] presentedViewController] isKindOfClass:[UINavigationController class]]) {
[[self mainViewController] dismissModalViewControllerAnimated:TRUE];
}
});
}
屏幕保护程序视图控制器是在 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 中创建的(在主线程中)
[[GMAppManager sharedManager] setScreenSaverViewController:[[AAScreenSaverViewController alloc] initWithNibName:@"AAScreenSaverViewController" bundle:nil]];