自定义返回键失败
D-james opened this issue · comments
- (void)updateNavigationItems {
if (self.webView.canGoBack) {
self.navigationController.interactivePopGestureRecognizer.enabled = NO;
if (self.showCloseNavLeftItem){
[self.navigationItem setLeftBarButtonItems:@[self.backNavLeftItem, self.closeNavLeftItem] animated:NO];
}else{
[self.navigationItem setLeftBarButtonItems:@[self.backNavLeftItem] animated:NO];
}
} else {
self.navigationController.interactivePopGestureRecognizer.enabled = YES;
[self.navigationItem setLeftBarButtonItems:nil animated:NO];
}
}
我是继承JXBWebViewController,然后设置leftBarButtonItem,一直无效,发现是这里覆盖了。这里应该判断是第一页Webview的话就不隐藏,或者是我用错了,大佬指点下
你的需求是啥样的
你的需求是啥样的
就是要自定义返回按钮
那你给backItem重新赋个值不就行了吗
那你给backItem重新赋个值不就行了吗
(void)updateNavigationItems {
if (self.webView.canGoBack) {
self.navigationController.interactivePopGestureRecognizer.enabled = NO;
if (self.showCloseNavLeftItem){
[self.navigationItem setLeftBarButtonItems:@[self.backNavLeftItem, self.closeNavLeftItem] animated:NO];
}else{
[self.navigationItem setLeftBarButtonItems:@[self.backNavLeftItem] animated:NO];
}
} else {
self.navigationController.interactivePopGestureRecognizer.enabled = YES;
[self.navigationItem setLeftBarButtonItems:nil animated:NO];
}
}
上面代码会执行
self.navigationController.interactivePopGestureRecognizer.enabled = YES;
[self.navigationItem setLeftBarButtonItems:nil animated:NO];
然后设置的就被重写了
你重写backNavLeftItem的getter方法
backNavLeftItem
backNavLeftItem是私有属性,没有暴露在.h中,能否修改下源码,让设置返回键更方便一点。
@Property (nonatomic, copy) NSString *backImagePath; //返回按钮图片的路径(默认为当前库的资源bundle)
这个属性是不生效的,也会被updateNavigationItems方法覆盖
pod 'JXBWebKit', '~> 1.2.0'
最新版本已经都暴露出来了
backImagePath其实是生效的,之所以这个属性名叫path是希望你能把图片的完整路径传给我,因为有的项目可能会把三方库集成到一起,集成之后的大库可能是动态库,可能是静态库,这个是我没法判断的。