UIPageViewController向前翻页加载缓慢,但向后翻页则不会。

5
我的UIPageViewController显示带有UIWebView子视图的UIViewController视图。我的问题是,当我向前翻转时,UIWebView加载速度比向后翻转时慢。向后翻转时,我立即看到我想要看到的视图控制器的视图,但向前翻转时,我可以看到视图控制器的视图在子视图出现之前会白屏闪烁一下。

这不是因为先前的页面已经加载过了,因为这个问题也会在向前翻转、向后翻转,然后再向同一页向前翻转时出现。

我在加载下一个和上一个页面时使用完全相同的方法和类。

为什么会发生这种情况?是否有办法解决这个问题?


你在你的方法中使用NSOperationQueue或GCD吗? - aug2uag
不,我没有进行任何异步操作 :) - ThomasCle
2个回答

0

或许尝试在另一个线程上加载数据。类似这样:

- (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];
}

"operationQueue" 声明在哪里? - Ofir Malachi
operationQueue 可以是单例,也可以在其他地方声明和赋值。你可以在 ViewController 的生命周期内或其他地方完成它。 - aug2uag

0

我不太确定,但我认为你的网络速度可能会影响这个。


1
UIWebView中的所有内容都不是从互联网加载的,而是本地数据。 - ThomasCle

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接