
之前的想法是通过webview的navigationDelegate的各个生命周期中,判断webview的canGoBack属性,但是有不少缺陷:
比如单页应用的跳转不会触发生命周期,如果在didFinishNavigation中判断canGoBack,这要等页面加载完成才会执行,有很大的延迟
下面是解决方案,其实很简单,就是通过kvo来监听canGoBack的变化:
根据微信的体验,微信的底部前进后退的状态判断也是根据监听canGoBack canGoForward来动态配置的
步骤:
1 创建 一个 自己的WebViewClient(继承 WebViewClient 类)如 MyWebviewclient
2 重载 里面的 onPageFinished(WebView view, String url)方法,(webview加载完成会调用这个方法),这个方法放自己想要做的事情,在webview加载完成以后
3 关联 你自己的webviewclient 与 webview 通过 这个方法:webViewsetWebViewClient( new MyViewerWebViewClient();
你这个webView不是放在一个新的activity·里面的么?你点击按钮的 *** 作应该是跳转到一个新的activity,然后这个activity里面的布局是你要用到的weiView,这样当点击返回键的时候就可以返回到你原来的activity了。只需要这样改
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEventKEYCODE_BACK) && mWebViewcanGoBack()) {
mWebViewgoBack();
return true;
}else{
finish();
}
return superonKeyDown(keyCode, event);
}
以上就是关于iOS开发:webview动态添加配置返回、关闭按钮(简单又完美)全部的内容,包括:iOS开发:webview动态添加配置返回、关闭按钮(简单又完美)、怎么获取webview真正加载网页完成的回调、WebView 怎样返回到 首页等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)