【发布时间】:2020-02-10 13:51:19
【问题描述】:
我的应用中有一个webView,运行良好。为了使用户能够返回到以前的urllink,我在navigationBar 中有一个自定义的返回button。链接到 button 的是一个简单的代码行,可以将用户带回上一个屏幕:
-(void)webBackButton {
NSLog(@"BACK BACK BACK");
[_webView goBack];
}
效果很好。现在真正的问题是,在最初的webView 中显然不应该有后面的button(没有地方可以回去)。所以,我想在显示的第一个webView 上隐藏和禁用button。为此,我想我需要以某种方式检查当前的webView 不是最初的webView。像这样:
if(!_webView.URL.absoluteURL) {
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:self action:@selector(webBackButton)];
}
而且我认为每次应该隐藏“webViewchange itsurlpath; that is when the user uses alink. If the currentwebViewis_webView.URL.absoluteURLthe backbutton”时都必须进行此检查,否则它应该是显示。
我该如何做到这一点。据我了解,delegate webViewDidFinishLoad 已被弃用。我尝试过使用observeValueForKeyPath,但是当我转到另一个url 时似乎没有触发。有没有更简单的方法可以在初始屏幕上隐藏背面button?
【问题讨论】:
标签: ios objective-c uiwebview webkit uinavigationbar