UIWebView 新增 Url 加载动画效果

Posted

技术标签:

【中文标题】UIWebView 新增 Url 加载动画效果【英文标题】:UIWebView New Url load animation effect 【发布时间】:2012-12-27 06:03:30 【问题描述】:

我们可以在加载效果时在 webview 中加载带有动画的新 url 吗? 即我想在我的 webview 加载新的 url 或在 webview 中打开的网站上单击的任何链接时给它一个动画。 当用户点击链接/加载新网址时,我想在我的 webview 上使用后退按钮给 pushviewController 类型的动画(屏幕从右到左移动)以返回(webView 视图从左到右移动)。

【问题讨论】:

当你在 webview 中使用 html 时,你可以通过调用 HTML 5 的一些动画方法来实现 实际上我无法得到你的建议让我的 html 元素动画!我正在使用第三方工具,其中我在左侧有一个表格视图控制器,在右侧有一个 webview。我在 webview 上方的右侧添加了一个导航栏,其中包含后退按钮。如果用户点击它,webview 将加载以前的 url。我想在这里添加推/弹出视图控制器类型动画 如果您想显示加载视图,请继续使用@neo 的答案。似乎您想在 webview 内容的页面之间渲染时显示动画。对于那件事,您需要修改 webview 的 html 内容,换句话说,网站应该使用 HTML5 应用动画,不能从 webview 完成... 【参考方案1】:

是的。

您可以在 - (void)webViewDidStartLoad:(UIWebView *)webView 中堆叠视图并使用 - (void)webViewDidFinishLoad:(UIWebView *)webView 关闭它

例如,

WebViewController.h

@interface WebViewController : UIViewController<UIWebViewDelegate> 
 IBOutlet UIWebView *webView;

WebViewController.m

- (void)viewDidLoad 
    [super viewDidLoad];
    webView.delegate = self;


- (void)webViewDidStartLoad:(UIWebView *)webView 
   [self.navigationController pushViewController:someViewController animated:YES];


- (void)webViewDidFinishLoad:(UIWebView *)webView 
 [self.navigationController popViewControllerAnimated:YES];

【讨论】:

【参考方案2】:

当一个新的 URL 加载到 UIWebView 中时,它是

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request  navigationType:(UIWebViewNavigationType)navigationType 

     //Code for animating view .
     //Code for back button.
    

将调用委托方法。 在这个委托方法中做你需要的东西。

【讨论】:

以上是关于UIWebView 新增 Url 加载动画效果的主要内容,如果未能解决你的问题,请参考以下文章

向 UIWebView 添加动画顶栏

Aniamtion加载动画

iphone: UIwebview 卷曲效果

iOS涂色涂鸦效果Swift仿喜马拉雅FM抽屉转场动画拖拽头像标签选择器等源码

canvas动画之一 -- 百分比进度加载

jquery 加载动画效果怎么做