iOS 6.1中的闪烁屏幕问题

时间:2013-02-07 09:29:10

标签: ios objective-c cocoa-touch ios6

我正在开发iOS 5.0目标项目。在升级我的

之前,一切正常

设备版本到iOS 6.1。在这个新版本中,我在一个

中面临一些闪烁的问题

特别是屏幕。我在做什么如下

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,版本低于完美。任何帮助是极大的赞赏。

2 个答案:

答案 0 :(得分:3)

我在申请中面临同样的问题。

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

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

答案 1 :(得分:0)

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

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

您不知道您的OrderList视图控制器将在何时推送到loadFadingScreenFromController: