2013-02-07 121 views
5

我正在开发iOS 5.0目标项目。一切工作正常,直到我升级我的iOS 6.1中的闪烁屏幕问题

设备版本到iOS 6.1。在这个新版本中,我面临着一些问题,闪烁在一个

特别screen.What我做的是如下

dispatch_async(dispatch_get_main_queue(), ^{    

    [APPINSTANCE performSelector:@selector(loadFadingScreenFromController:)  
    withObject:self afterDelay:0.2];//Method in AppDelegate to for db sync 
    [APPINSTANCE setSyncFrom: @"ORDERS"]; 
}); 

//pushing a view 
OrderList *orderListObj = [[OrderList alloc] initWithNibName:@"OrderList" bundle:nil]; 
[self.navigationController pushViewController:orderListObj animated:YES]; 
self.navigationController.navigationBarHidden = NO; 

做完这些之后,我的iPhone屏幕上出现了一个非常奇怪的闪烁。这种闪烁只发生在iOS 6.1的版本中,版本低于这个效果的完美版本。任何帮助是极大的赞赏。

+0

在黑暗中拍摄这里:或许'performSelectorOnMainThread'而不是双'dispatch_'可能适合你。 – Maple

回答

0

我不明白你的代码。您在主线程上使用GCD以在延迟后在另一个线程上实际执行选择器。为什么不使用dispatch_after()函数?

请记住,由于并发性调用选择器后,不会调用您的“推送视图”代码。

你不知道此时你OrderList视图控制器将关于loadFadingScreenFromController推:

3

我在我的应用面临着同样的问题。

原因是我通过使用线程显示警报视图,这是闪烁屏幕的问题。

我评论说,线程显示警报视图,之后,我的应用程序运行良好。