2013-06-11 14 views
5

Moje UIPageViewController pokazujewyświetleń z UIWebView jako subviews. Mój problem polega na tym, że kiedy obrócę się do przodu, ładowanie jest wolniejsze niż przy cofaniu. Odwracając się od razu, widzę widok kontrolera widoku, który chcę zobaczyć, ale kiedy się odwracam, widzę, że widok kontrolera widoku jest biały przez krótką chwilę, zanim pojawi się podgląd.UIPageViewController ładuje się powoli podczas włączania, ale nie wstecz

Nie dzieje się tak dlatego, że poprzednie strony zostały raz załadowane, ponieważ problem występuje również podczas przewijania do przodu, do tyłu i do przodu na tej samej stronie.

Używam tych samych metod i klas podczas ładowania kolejnych i poprzednich stron.

Dlaczego tak się dzieje i czy istnieje sposób obejścia tego problemu?

+0

czy używasz NSOperationQueue lub GCD w swoich metodach? – aug2uag

+0

Nie, nie robię nic asynchronicznego :) –

Odpowiedz

0

Nie jestem do końca tego pewien, ale sądzę, że prędkość sieci może wpłynąć na to.

+1

Żadna treść w 'UIWebView' nie jest ładowana z Internetu. Wszystkie dane są lokalne. –

0

Być może spróbuj załadować dane do innego wątku. Coś jak:

- (void)loadAsynchronousWithMainQueue 
{ 
    NSBlockOperation* blockOperation = [NSBlockOperation blockOperationWithBlock:^{ 
     //your operations here that do not deal with setting UI elements 

     NSBlockOperation* blockWithMainQueue = [NSBlockOperation blockOperationWithBlock:^{ 
     //set UI elements here, on main thread 
     }]; 

    [[NSOperationQueue mainQueue] addOperation:blockWithMainQueue]; 

    }]; 

    [operationQueue addOperation:blockOperation]; 
} 
+0

gdzie jest zadeklarowana "operationQueue"? –

+0

the operationQueue może być Singleton lub zadeklarowane i przypisane gdzie indziej .. można to zrobić podczas cyklu życia ViewController lub gdzie indziej – aug2uag

Powiązane problemy