- (void)viewDidLoad {
[self addLeftButton];
}
- (void)webViewDidFinishLoad:(UIWebView *)webView{
//判断是否有上一层H5页面
if ([webView canGoBack]) {
//如果有则返回
//同时设置返回按钮和关闭按钮为导航栏左边的按钮
self.navigationItem.leftBarButtonItems = @[self.backItem, self.closeItem];
} else {
self.navigationItem.leftBarButtonItems = @[self.backItem];
}
}
//点击返回的方法
- (void)backNative
{
//判断是否有上一层H5页面
if ([webView canGoBack]) {
//如果有则返回
[webView goBack];
} else {
[self closeNative];
}
}
//关闭H5页面,直接回到原生页面
- (void)closeNative
{
[self.navigationController popViewControllerAnimated:YES];
}
#pragma mark - init
- (UIBarButtonItem *)backItem
{
if (!_backItem) {
_backItem = [[UIBarButtonItem alloc] init];
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
UIImage *image = [UIImage imageNamed:@"返回"];
[btn setImage:image forState:UIControlStateNormal];
[btn setTitle:@"返回" forState:UIControlStateNormal];
[btn addTarget:self action:@selector(backNative) forControlEvents:UIControlEventTouchUpInside];
[btn.titleLabel setFont:[UIFont systemFontOfSize:17]];
// [btn setTitleColor:[UIColor sy_backColor] forState:UIControlStateNormal];
//字体的多少为btn的大小
[btn sizeToFit];
//左对齐
btn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
//让返回按钮内容继续向左边偏移15,如果不设置的话,就会发现返回按钮离屏幕的左边的距离有点儿大,不美观
btn.contentEdgeInsets = UIEdgeInsetsMake(0, -15, 0, 0);
btn.frame = CGRectMake(0, 0, 40, 40);
_backItem.customView = btn;
}
return _backItem;
}
- (UIBarButtonItem *)closeItem
{
if (!_closeItem) {
_closeItem = [[UIBarButtonItem alloc] initWithTitle:@"关闭" style:UIBarButtonItemStylePlain target:self action:@selector(closeNative)];
}
return _closeItem;
}
webview 添加返回 和关闭
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 之前的想法是通过webview的navigationDelegate的各个生命周期中,判断webview的canG...
- webView的基本应用,监听加载进度,返回上一页,异常处理 web调用原生:处理跳转到指定的原生页面,拦截跳转其...
- 原生应用经常嵌套H5页面,H5层级过深,需要添加滑动返回功能。效果如下demo.gif pod 安装 只需要一句代...
- 总结一下近期项目开发中遇到的两个问题。 navigationController的右滑返回手势失效 webView...