ios – 使用动画进行WebView页面更改

我一直在网上寻找如何将动画合并到我的UIWebView控件中的示例,但是我的空白.

我对动画并不挑剔(一旦我理解了如何将它附加到动作上,我就会把它搞乱),我只想要的不仅仅是从一个网页到另一个网页的明显过渡,卷曲的页面,左边的动画(旧页面)到右边(新页面),无论做什么.

有人可以发布示例或将我引导到一个解释我如何做到这一点的页面吗?我阅读了关于CATransition的文档,但我仍然没有看到如何将它合并到我的UIWebView导航中.

最佳答案 经过一些游戏,我得到了我想要的效果,我可能需要稍微调整一下,但这就是我想出的:

在执行loadRequest之前(我现在改变了我的代码,以便通过shouldStartLoadWithRequest捕获所有页面更改,然后使用webview loadRequest手动设置新页面)我转到我写的一个名为animatePage的curl动画例程:

- (void) animatePage 
{
  CATransition *animation = [CATransition animation];
  [animation setDelegate:self];
  [animation setDuration:1.0f];
  animation.startProgress = 0.5;
  animation.endProgress   = 1;
  [animation setTimingFunction:UIViewAnimationCurveEaseInOut];
  [animation setType:@"pageCurl"];

  //[animation setType:kcat];
  [animation setSubtype:kCATransitionMoveIn];

  [animation setRemovedOnCompletion:NO];
  [animation setFillMode: @"extended"];
  [animation setRemovedOnCompletion: NO];
  [[myWebView layer] addAnimation:animation forKey:@"WebPageCurl"];
}

因此,使用卷曲的向上页面动画来动画页面更改我基本上做了:

[self animatePage];
[myWebView loadRequest:myRequest];

我可以在loadRequest之前或之后调用animatePage例程,这并不重要.

我知道这可能不是完成工作的“正确”方式,但似乎确实完成了工作.就像我说的那样,我需要在这里和那里拨打它,但到目前为止我对结果很满意.

点赞