IOS开发过程中,我们无可避免的会与HTML5的界面做交互,如果H5界面里面有按钮,点击之后跳转到下一个界面之后,关于此时返回的问题(WKWebView与UIWebView的基本类似,以下以UIWebView为例来解释)
一、如果H5首界面导航条上边没有返回按钮时
1、第一步我们可以在H5界面跳转到下一个界面de时候添加一个返回按钮
因为还是当前viewControll,不能再viewDidLoad等等这些方法里面写,因为H5界面跳转的时候这些方法都没有走,
不过我们可以写在webView的代理方法里面,比如
- (void)webViewDidStartLoad:(UIWebView *)webView;//开始加载,建议使用这个,防止加载失败
- (void)webViewDidFinishLoad:(UIWebView *)webView;//加载完成
判断当前H5界面是否可以返回的方法是
[self.webView canGoBack];
因此我们就可以,根据判断是否在导航条左上边添加返回按钮了
2、在返回按钮的点击方法里面
我们可以根据[self.webView canGoBack];的判断,来做处理
3、webView里面H5的界面的返回上一个界面的方法是
[self.webView goBack];
二、如果H5首页导航条上边有返回按钮,添加一个关闭按钮时
1、第一步在webView的代理方法里面根据[self.webView canGoBack];判断当前H5界面是否可以返回
可以的时候添加一个关闭按钮,不可以的话不添加
2、在返回按钮的方法里面根据[self.webView canGoBack];判断,可以返回时,就走[self.webView goBack];
不能返回就走[self.navigationController popViewControllerAnimated:YES];
3、在关闭按钮的方法里面走
[self.navigationController popViewControllerAnimated:YES];