简体   繁体   中英

Flickering Screen issue in iOS 6.1

I am working on iOS 5.0 targeted project. Everything was working fine until I upgraded my

device version to iOS 6.1 .In this new version I am facing some flickering issue in one

particular screen.What I am doing is as follows

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;

After doing this I get a very weird flicker in my iPhone screen. The flicker occurs only

with iOS 6.1 , versions less then that works perfect . Any help is greatly appreciated.

I faced the same problem in my application.

Reason is I was displaying an alert view by using thread and that was the problem of flickering screen.

I commented that thread to display alert view and after that my application is working well.

I don't get very much your code. You are using GCD on the main thread to actually perform a selector on another thread after a delay. Why don't you use dispatch_after() function?

Remember that your "pushing a view" code is NOT called right after the selector is called because of concurrency.

You don't know at which time your OrderList view controller is going to be pushed with respect to the loadFadingScreenFromController:

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM